NoirCode is an AI coding agent for working inside a repository. It can read and search the project, edit files, run commands, and talk to a language model you choose. The same local server backs a full-screen terminal interface, a smaller interactive mode, a desktop app, and a local web app.
Terminal, desktop, and web
Run noircode in a project to open the full-screen terminal interface. Pass a directory to work somewhere else:
noircode ~/code/my-project
Terminals with true color, such as Ghostty, WezTerm, Alacritty, and Kitty, show themes most accurately. Terminals without it use an approximation of the palette.
noircode mini starts a smaller interactive interface when the full-screen TUI is more than the task needs. The desktop app is a separate download for macOS, Windows, and Linux. noircode pair opens the local web interface through a one-time link that expires in five minutes.
Automation
noircode run submits one prompt and prints the result without opening the interactive interface. That is the path for scripts and CI jobs:
noircode run "Explain this repository"
noircode run --model anthropic/claude-sonnet-5-5 "Refactor parseToken"
The command does not add a pull-request bot or a hosted review service. It runs the same agent against the repository you point it at.
One local server
By default, NoirCode discovers or starts one shared background server for your user account. The terminal, mini mode, desktop app, and web app connect to that server. The server owns sessions, configuration, integrations, permissions, and tool execution.
Use --standalone for a private server, or --server to attach to a specific URL:
noircode --standalone
noircode --server http://localhost:4096
noircode service set disabled true stops the shared service and makes private servers the default. Pairing needs the shared service, so it is unavailable while the service is disabled.
This server is local to the account. It is not a multi-user collaboration host.
Agents and tools
A session starts on the Build agent, which can edit the project. Plan explores and writes plans without editing normal project files. General and Explore are subagents for research and search. You can add your own agents as Markdown files under .noircode/agents/ or in noircode.jsonc. An agent is a system prompt, a model preference, and a set of permissions.
The agent works through tools: read, grep, glob, edit, write, patch, shell, web fetch, web search, todos, skills, questions, and subagents. MCP servers add more tools. Permissions decide whether each action is allowed, denied, or asked. By default, reading sensitive environment files asks for approval.
Models
/connect stores credentials for a provider. /models picks a model for the current session. The default for new work is model in noircode.jsonc. Agents and noircode run --model can choose a different one. The catalog comes from models.dev, connected providers, and your config. A custom provider can point at any OpenAI-compatible endpoint, including a model you host yourself.
NoirCode Console and NoirCode Go are optional. Go is a subscription for a set of coding models. The agent runs without either of them.
What stays on the machine
noircode debug paths prints the database, config, cache, state, log, and repository paths. noircode uninstall --dry-run previews removal. Uninstall stops background services and deletes the global cache. Session data, configuration, and state are left in place.
Configuration is layered. Managed settings and policies outrank user and project files. Project settings live in noircode.jsonc or .noircode/noircode.jsonc. Plugins, commands, skills, themes, and keybindings are part of that same config.
What NoirCode is for
NoirCode is the agent, the local server, and the interfaces around them. You choose the model, you decide which tools may run, and the session stays on your machine until a prompt is sent to the provider you configured.