Crow is an extensible AI agent that runs in your terminal. Point it at a project, describe the outcome you want, and it reads files, runs commands, and makes the edits.
Quickstart
To run Crow you need access to a language model through a supported provider — a subscription, an API key, or a locally hosted model.
1. Install Crow
Pick your platform above — Linux, Windows, or npm (Node.js 22.19 or newer). Confirm the installation with crow --version.
2. Start Crow
cd /path/to/folder crow
The working directory decides which files, instructions, and saved sessions Crow uses.
3. Choose a model
Inside Crow, run /login, select a provider, and follow the prompts to authenticate with a subscription or store an API key. Run /model afterwards to switch between the models available to you.
4. Give Crow a task
Describe the outcome you want in plain language. Crow shows every file read, command, and edit as it works, and you can steer it at any point.
Usage
Work in the terminal is a conversation: type a prompt, watch Crow plan and execute, and reply to redirect it. You can steer while it runs, or change the model mid-task.
- Reference files and folders directly in your prompt so Crow reads the right context.
- Run terminal commands yourself from the same interface when you want to check something.
- Switch work modes with
/mode:planis read-only analysis,builduses the full tool set, andaskis Q&A only.
Everyday slash commands
/settingsOpen the settings screen/model [provider/model]Pick a model/mode [plan|build|ask]Switch work mode/login [provider]Register provider authentication/newOpen a new session/resumeMove to another saved session/treeBrowse the session treeConfiguration
Crow reads configuration from two places: a per-user agent directory and a per-project .crow directory, so personal defaults and project-specific setup stay separate.
- Agent directory — global settings, stored credentials, personal MCP servers, skills, and themes. Override its location with the
CROW_CODING_AGENT_DIRenvironment variable. - Project .crow directory — project settings (
.crow/settings.json), project MCP servers (.crow/mcp.json), and project-scoped extensions, skills, prompts, and themes. - Context files — instruction files such as
.crow/SYSTEM.mdand.crow/APPEND_SYSTEM.mdshape how Crow behaves in a project.
Models
A model produces Crow's responses; a provider is the service or account Crow uses to reach it. Use /model to pick from everything your connected providers offer, and /scoped-models to set the short list used for interactive cycling.
- Subscription and API-key providers, authenticated once with
/login. - Local models, including a llama.cpp router administered with
/llama. - Fully custom providers, declared in configuration when a service is not built in.
Providers
The fastest path is interactive: run /login and authenticate through a browser or device flow backed by OAuth, or paste an API key. Run /logout to remove stored authentication.
- API keys can also come from environment variables, so a key exported in your shell is picked up automatically.
- Cloud platforms are supported directly: Azure OpenAI, Amazon Bedrock, Cloudflare AI Gateway, Cloudflare Workers AI, and Google Vertex AI.
Sessions
Sessions are saved per project and hold the full conversation — prompts, tool calls, and results. Resume earlier work with /resume, start fresh with /new, and name sessions with /name so they are easy to find.
Branching
/treeNavigate inside the current session file — best when related alternatives belong together/forkBuild a new session from an earlier user message — best when the alternative deserves its own work/cloneCopy the active branch into a new session — an independent copy of the current stateExtensions
Extensions are TypeScript modules that plug into Crow's runtime: they can add tools, react to lifecycle events, register commands, and shape the terminal UI. If a workflow needs behaviour Crow does not have, an extension is usually the smallest way to add it.
- Extensions load from the agent directory, from a project's
.crow/extensions(trust-gated), or from installed Crow packages. - Tools added by an extension appear alongside the built-in ones and can be activated dynamically.
MCP
Crow connects to Model Context Protocol servers to use their tools. Manage servers from the shell — no session required:
crow mcp add filesystem -- npx -y @modelcontextprotocol/server-filesystem . crow mcp add docs --url https://example.com/mcp --bearer-token-env-var DOCS_TOKEN crow mcp list crow mcp login <server> crow mcp remove docs
- Personal servers and servers holding credentials belong in
~/.crow/agent/mcp.json; keep project servers in.crow/mcp.json, and only in projects you trust. crow mcp listconnects to every enabled server and reports its state, its tools, and any startup problems.
Skills and Prompts
Skills are reusable instruction bundles — a SKILL.md file, optionally with supporting files — that teach Crow a repeatable workflow. Crow loads the skills a task needs from the agent directory, the project, or installed packages.
- Create a skill when you find yourself explaining the same procedure twice; write it once and Crow reuses it.
- Prompt templates turn a long, precise prompt into a short reusable command.
CLI Reference
Running crow with no arguments opens the interactive terminal UI in the current directory. The same binary also works non-interactively from scripts and other programs.
--mode jsonRun the given prompts, emit JSONL events to stdout, then exit--mode rpcRead JSONL commands from stdin and write responses and events to stdout until shutdown--export <input> [output]Convert a session file to HTML and exit--provider <provider>Select the provider for a run or credential lookup--model <model>Select the model for a run; combinable with --providerRelated command groups cover credentials (crow auth …), MCP servers (crow mcp …), and installing, updating, and removing Crow packages.
Settings
Open the settings screen with /settings, or edit the settings files directly — global settings live in the agent directory and project settings in .crow/settings.json, with project values taking precedence.
- Model and reasoning — default model, provider, and thinking level (
/thinking). - Tools — which tools are available and how they run.
- Sessions and context — storage, automatic compaction, and branch summaries.
- Terminal and display — themes and rendering options.
Security
What project trust protects
.crow/settings.jsonand other project settings.crow/mcp.jsonand the MCP servers it declares.crow/extensions,.crow/skills,.crow/prompts, and.crow/themes.crow/SYSTEM.mdand.crow/APPEND_SYSTEM.md- Packages a project declares through its settings