Heads up: macOS builds are Apple Silicon only. Linux ships x86_64 and arm64. Windows is coming soon.
Grab the latest signed build from GitHub Releases — free, MIT licensed, no account required.
Requires an Apple Silicon Mac (M1 or later). Data is stored at ~/Library/Application Support/CodeFire/. Updates are checked against GitHub Releases — never silently installed.
Configure your API keys and preferences.
Press Cmd+, (or Ctrl+, on Linux), or open the Settings drawer from the tool rail.
Settings covers general preferences, the context Engine, the MCP server, agent defaults and auto-run, Gmail, briefings, and team sync.
Required for AI chat, semantic code search, and image generation.
sk-or-v1-...
What this unlocks: The OpenRouter key powers the built-in AI Chat (ask questions about your codebase), Semantic Code Search (search by meaning, not just text), and AI Image Generation. All models are served through OpenRouter with a single key.
Optional settings on this tab:
text-embedding-3-small (faster, cheaper) or text-embedding-3-large (more accurate)Install the CodeFire MCP server so your CLI has access to persistent memory and tools.
Click the button for your CLI tool. CodeFire will automatically write the MCP config to the right file.
These deep links open CodeFire, which writes the config for you. After installing, restart your CLI session for the connection to activate.
If the one-click install doesn't work, you can configure the MCP server manually.
Finding the MCP server path:
/Applications/CodeFire.app/Contents/Resources/mcp-server/server.js~/.local/share/CodeFire/mcp-server/server.js (auto-synced on first launch)/opt/CodeFire/resources/mcp-server/server.js
$ claude mcp add codefire node /path/to/resources/mcp-server/server.js
Replace the path with the actual server.js path from the table above.
[mcp_servers.codefire] command = "node" args = ["/path/to/resources/mcp-server/server.js"]
{
"mcpServers": {
"codefire": {
"command": "node",
"args": ["/path/to/resources/mcp-server/server.js"]
}
}
}
{
"mcpServers": {
"codefire": {
"command": "node",
"args": ["/path/to/resources/mcp-server/server.js"]
}
}
}
{
"mcpServers": {
"codefire": {
"type": "local",
"command": ["node", "/path/to/resources/mcp-server/server.js"]
}
}
}
Teach your AI agent how to use CodeFire's tools effectively.
Each CLI has a system instruction file where you can add persistent instructions. Copy the CodeFire instructions below into the appropriate file so your agent knows how to use tasks, notes, browser automation, and more. (CodeFire can also inject these automatically — see "Instruction injection" in step 3.)
Add the following to your ~/.claude/CLAUDE.md file (global instructions):
## CodeFire MCP CodeFire provides persistent memory across Claude Code sessions via MCP. Tasks, notes, and project context survive between conversations. ### Session Workflow **Every session MUST start with:** 1. `get_current_project` — confirm which project is auto-detected 2. `list_tasks(status: "in_progress")` — resume unfinished work 3. `list_tasks(status: "todo")` — know what's queued 4. `list_notes(pinned_only: true)` — read critical context 5. Brief the user on what you found **Every session MUST end with:** 1. Update all task statuses accurately 2. `add_task_note` on anything unfinished 3. `create_note` session summary if significant work was done ### Task Management | Tool | Purpose | |------|---------| | `list_tasks` | List tasks by status (todo/in_progress/done) | | `create_task` | Create a new task (title required) | | `update_task` | Update status, priority, title, description, labels | | `add_task_note` | Add progress notes to a task | | `get_task` | Get full task details + notes | ### Notes — Institutional Memory | Tool | Purpose | |------|---------| | `list_notes` | List project notes (pinned_only: true for critical) | | `create_note` | Create a persistent note (title + markdown) | | `update_note` | Update note content | | `search_notes` | Full-text search across notes | ### Context Search `context_search` — hybrid vector + keyword search across the indexed codebase. Types filter: function, class, block, doc, commit ### Browser Automation | Tool | Purpose | |------|---------| | `browser_navigate` | Open a URL | | `browser_screenshot` | Capture current page | | `browser_click` / `browser_type` | Interact with elements | | `browser_console_logs` | Capture JS console output | ### Git Operations | Tool | Purpose | |------|---------| | `git_status` | Check working tree state | | `git_diff` | View changes | | `git_log` | View commit history | | `git_stage` | Stage files | | `git_commit` | Create a commit |
Add the following to your ~/.codex/AGENTS.md file (global instructions):
## CodeFire MCP CodeFire provides persistent memory across coding sessions via MCP. Tasks, notes, and project context survive between conversations. ### Session Workflow **Every session MUST start with:** 1. `get_current_project` — confirm which project is auto-detected 2. `list_tasks(status: "in_progress")` — resume unfinished work 3. `list_tasks(status: "todo")` — know what's queued 4. `list_notes(pinned_only: true)` — read critical context 5. Brief the user on what you found **Every session MUST end with:** 1. Update all task statuses accurately 2. `add_task_note` on anything unfinished 3. `create_note` session summary if significant work was done ### Tools Reference Tasks: list_tasks, create_task, update_task, add_task_note, get_task Notes: list_notes, create_note, update_note, search_notes Search: context_search (hybrid vector + keyword, types: function/class/block/doc/commit) Browser: browser_navigate, browser_screenshot, browser_click, browser_type, browser_console_logs Git: git_status, git_diff, git_log, git_stage, git_commit
Add the following to your ~/.gemini/GEMINI.md file (global instructions):
## CodeFire MCP CodeFire provides persistent memory across coding sessions via MCP. Tasks, notes, and project context survive between conversations. ### Session Workflow **Every session MUST start with:** 1. `get_current_project` — confirm which project is auto-detected 2. `list_tasks(status: "in_progress")` — resume unfinished work 3. `list_tasks(status: "todo")` — know what's queued 4. `list_notes(pinned_only: true)` — read critical context 5. Brief the user on what you found **Every session MUST end with:** 1. Update all task statuses accurately 2. `add_task_note` on anything unfinished 3. `create_note` session summary if significant work was done ### Tools Reference Tasks: list_tasks, create_task, update_task, add_task_note, get_task Notes: list_notes, create_note, update_note, search_notes Search: context_search (hybrid vector + keyword, types: function/class/block/doc/commit) Browser: browser_navigate, browser_screenshot, browser_click, browser_type, browser_console_logs Git: git_status, git_diff, git_log, git_stage, git_commit
Add the following to your project's AGENTS.md:
## CodeFire MCP CodeFire provides persistent memory across coding sessions via MCP. Tasks, notes, and project context survive between conversations. ### Session Workflow **Every session MUST start with:** 1. `get_current_project` — confirm which project is auto-detected 2. `list_tasks(status: "in_progress")` — resume unfinished work 3. `list_tasks(status: "todo")` — know what's queued 4. `list_notes(pinned_only: true)` — read critical context 5. Brief the user on what you found **Every session MUST end with:** 1. Update all task statuses accurately 2. `add_task_note` on anything unfinished 3. `create_note` session summary if significant work was done ### Tools Reference Tasks: list_tasks, create_task, update_task, add_task_note, get_task Notes: list_notes, create_note, update_note, search_notes Search: context_search (hybrid vector + keyword, types: function/class/block/doc/commit) Browser: browser_navigate, browser_screenshot, browser_click, browser_type, browser_console_logs Git: git_status, git_diff, git_log, git_stage, git_commit
CodeFire auto-discovers projects or you can add them manually.
When you use Claude Code in a project directory, CodeFire automatically detects it by scanning ~/.claude/projects/. Your project will appear in the sidebar within a few seconds.
Click Add Project in the project sidebar and select any project directory.
Sync emails into CodeFire and convert them to tasks.
Gmail integration requires a Google OAuth Client ID and Client Secret. You'll need to create these in the Google Cloud Console.
Whitelist rules: Set up whitelist rules to automatically turn emails from specific senders into tasks with priority levels. Go to the Gmail settings tab to configure patterns.
Mirror your agent chat to your phone and capture tasks on the go.
Remote control is opt-in, per device, and revocable at any time. The desktop app stays the source of truth.
Open a project, pick an agent, and start working. Your agent now has persistent memory, task tracking, browser automation, and semantic code search — all through MCP.