Epic: Claude Code vs ForgeCode Feature Comparison
Track features that Claude Code has and their status in ForgeCode. Use this issue to identify gaps and prioritize development.
Legend
Core CLI Features
Feature
Claude Code
ForgeCode
Status
Notes
Interactive TUI
Yes
Yes
[x]
ForgeCode has full interactive mode
Non-interactive mode (-p)
Yes (claude -p)
Yes (forge -p)
[x]
Both support piped input
Session resume/continue
Yes (--continue, --resume)
Yes (--conversation-id)
[x]
Session fork
Yes (--fork-session)
Yes (conversation clone)
[x]
conversation clone <id> creates new conversation with new ID. Task tool session_id allows subagent resume.
Named sessions
Yes (--resume "name")
Yes (conversation rename)
[x]
conversation rename <id> <name>
Session list
Yes (claude ls)
Yes (conversation list [--porcelain])
[x]
Pipe input
Yes (cat file | claude -p)
Yes (cat file | forge -p)
[x]
Multi-line input
Yes
Yes
[x]
Output formats (JSON/streaming)
Yes (--output-format json/stream-json/text)
Partial (--porcelain, conversation dump --html)
[~]
--porcelain on most subcommands, JSON/HTML export via conversation dump. No stream-json event streaming.
System prompt customization
Yes (--system-prompt)
Yes (via AGENTS.md)
[x]
Model selection
Yes (--model)
Yes (via config)
[x]
Agent selection
Yes (--agent)
Yes (--agent)
[x]
Budget/cost control
Yes (--max-budget-usd)
No
[ ]
Effort level control
Yes (--effort)
Yes (forge config set reasoning-effort <level>)
[x]
Effort enum: none/minimal/low/medium/high/xhigh/max. Also max_tokens, exclude, enabled flags. crates/forge_config/src/reasoning.rs, crates/forge_domain/src/agent.rs
Permission modes
Yes (ask/auto-plan/auto-edit/full-auto)
Yes (Policy Allow/Deny/Confirm)
[x]
Policy enum with All/Any/Not operators, Local/User scope. crates/forge_domain/src/policies/policy.rs
Verbose/debug mode
Yes (--verbose)
Yes (--verbose)
[x]
Agent & Subagent Features
Feature
Claude Code
ForgeCode
Status
Notes
Subagents
Yes
Yes (task tool)
[x]
task tool with agent_id + session_id for resume. Custom agents in .forge/agents/.
Agent view (parallel management)
Yes (claude agents)
No
[ ]
Agent teams
Yes
No
[ ]
Dynamic workflows
Yes
No
[ ]
Background agents
Yes
No
[ ]
Custom subagent definitions
Yes (.claude/subagents/)
Yes (.forge/agents/)
[x]
Memory & Context
Feature
Claude Code
ForgeCode
Status
Notes
CLAUDE.md / AGENTS.md
Yes
Yes (AGENTS.md)
[x]
Auto memory
Yes
Yes (TitleGenerationHandler)
[x]
Auto-generates conversation title from user prompt. crates/forge_app/src/hooks/title_generation.rs
Memory files per project
Yes (nested CLAUDE.md)
Yes (AGENTS.md)
[x]
Checkpointing (file rewind)
Yes
Yes (fs_undo tool + forge_snaps)
[x]
FSUndo in ToolCatalog, SnapshotService for per-file snapshot/rewind. crates/forge_domain/src/tools/catalog.rs, crates/forge_snaps/src/service.rs
Context window management
Yes (/compact)
Yes (conversation compact <id>)
[x]
Compact + Compactor engine, CompactionStrategy (Evict/Retain/Min/Max), CompactionHandler hook. crates/forge_domain/src/compact/
Prompt caching
Yes (automatic)
No
[ ]
Tools & Integrations
Feature
Claude Code
ForgeCode
Status
Notes
MCP support
Yes
Yes
[x]
McpServerConfig::{Stdio, Http} transports. crates/forge_domain/src/mcp.rs
MCP server mode
No
Yes
[x]
crates/forge_infra/src/mcp_server.rs — Forge can expose itself as MCP server. ForgeCode advantage
MCP OAuth
No
Yes (mcp login/mcp logout)
[x]
OAuth device/code/PKCE, refresh, custom headers. crates/forge_domain/src/auth/oauth_config.rs ForgeCode advantage
Shell/command execution
Yes
Yes
[x]
File read/write
Yes
Yes
[x]
Web search
No (external MCP)
No
[x]
Neither has built-in web search. ForgeCode has Fetch tool for URL content retrieval.
Computer use (GUI)
Yes (--chrome)
No
[ ]
Browser automation
Yes (Chrome integration)
No
[ ]
GitHub Actions integration
Yes
No
[ ]
GitLab CI/CD integration
Yes
No
[ ]
Slack integration
Yes
No
[ ]
Hooks system
Yes (user-configurable)
Yes (internal EventHandle/Hook)
[~]
on_start, on_end, on_request, on_response, on_toolcall_start, on_toolcall_end. Built-in: CompactionHandler, DoomLoopDetector, TitleGenerationHandler. crates/forge_domain/src/hook.rs. Not user-configurable yet.
Custom tools
Yes
Yes (16 tools in ToolCatalog)
[x]
Read, Write, FsSearch, SemSearch, Remove, Patch, MultiPatch, Undo, Shell, Fetch, Followup, PlanCreate, SkillFetch, TodoWrite, TodoRead, Task. crates/forge_domain/src/tools/catalog.rs
Skills/Commands
Yes
Yes
[x]
Skills in .forge/skills/, commands in .forge/commands/.
Plugins
Yes (plugin marketplace)
Yes (skills + shell plugin)
[~]
IDE & Platform
Feature
Claude Code
ForgeCode
Status
Notes
VS Code extension
Yes
Yes (forge vscode install-extension)
[x]
JetBrains integration
Yes
No
[ ]
Desktop app
Yes
No
[ ]
Web interface
Yes (claude.ai/code)
No
[ ]
Mobile access
Yes (Remote Control)
No
[ ]
Deep links (URL launch)
Yes (claude-cli://)
No
[ ]
SDK & Automation
Feature
Claude Code
ForgeCode
Status
Notes
Agent SDK (Python)
Yes
No
[ ]
Agent SDK (TypeScript)
Yes
No
[ ]
Structured output
Yes (--json-schema)
Yes (forge data --schema)
[~]
forge data runs JSONL batches constrained by --schema JSON schema. No --json-schema flag on -p itself.
Headless/programmatic mode
Yes
Yes (forge -p + forge data)
[x]
Scheduled tasks/routines
Yes (Desktop)
No
[ ]
Cron/scheduled execution
Yes (/loop)
No
[ ]
Channels (push events)
Yes
No
[ ]
Code Review & Quality
Feature
Claude Code
ForgeCode
Status
Notes
Code review
Yes (/code-review)
Yes (via subagents)
[x]
Multi-agent cloud review
Yes (ultrareview)
No
[ ]
Cloud planning
Yes (ultraplan)
No
[ ]
PR auto-fix
Yes (/autofix-pr)
No
[ ]
Security review plugin
Yes (security-guidance)
No
[ ]
Worktree & Isolation
Feature
Claude Code
ForgeCode
Status
Notes
Worktree support
Yes (--worktree)
Yes (--sandbox <name>)
[x]
Creates git worktree. crates/forge_main/src/sandbox.rs
Dev containers
Yes
No
[ ]
Docker sandbox
Yes
No
[ ]
Sandboxed bash
Yes
Yes (Policy system)
[x]
Enterprise & Admin
Feature
Claude Code
ForgeCode
Status
Notes
Multi-provider support
Anthropic-only*
Yes (43 providers)
[x]
ForgeCode advantage : 43 providers including OpenAI, Anthropic, Google, GitHub Copilot, Bedrock, Vertex AI, Azure, OpenRouter, Cerebras, Ollama, LM Studio, llama.cpp, vLLM, Jan AI, etc. crates/forge_repo/src/provider/provider.json
Enterprise settings
Yes (server-managed)
No
[ ]
Usage analytics
Yes (analytics dashboard)
Yes (forge info, conversation stats)
[x]
Usage struct with cost field. crates/forge_main/src/info.rs
Cost tracking
Yes (--max-budget-usd)
Yes (Usage + stats)
[~]
Has cost display, no budget cap.
Team management
Yes
No
[ ]
Amazon Bedrock support
Yes
Yes
[x]
Google Vertex AI support
Yes
Yes
[x]
Azure support
Yes
Yes
[x]
Zero data retention
Yes
No
[ ]
Managed MCP policies
Yes
No
[ ]
UX Features
Feature
Claude Code
ForgeCode
Status
Notes
Voice dictation
Yes
No
[ ]
Vim mode
Yes
No
[ ]
Custom keybindings
Yes
Partial (ZLE widgets)
[~]
shell-plugin/lib/bindings.zsh registers custom ZLE widgets (forge-accept-line, forge-completion, bracketed-paste).
Custom color themes
Yes (via plugins)
Yes (forge.theme.zsh)
[x]
Fullscreen rendering
Yes
No
[ ]
Status line customization
Yes
Yes (forge zsh rprompt)
[x]
Shows model + conversation stats in right-prompt.
Interactive mode keyboard shortcuts
Yes
Yes
[x]
Shell completion (zsh)
Yes
Yes (full shell plugin)
[x]
shell-plugin/ with plugin, theme, keyboard, dispatcher, actions, context, completion, highlight, config, helpers, bindings.
Auto-update
Yes
Yes (forge update)
[x]
Doom-loop detection
No
Yes
[x]
DoomLoopDetector hook detects [A,A,A,A] and [A,B,C][A,B,C][A,B,C] patterns. ForgeCode advantage . crates/forge_app/src/hooks/doom_loop.rs
Interactive fuzzy picker
No
Yes (forge select)
[x]
forge select {model, agent, provider, reasoning-effort, command, conversation, file}. ForgeCode advantage
Summary
ForgeCode already has: ~45 features
ForgeCode is missing: ~25 features
Partial implementation: ~6 features
Top Priority Missing Features (by impact)
Agent SDK (Python/TypeScript) - Critical for automation
Streaming JSON output (--output-format stream-json) - Critical for CI/CD
Budget/cost cap (--max-budget-usd) - Important for enterprise
Agent view (parallel management) - High impact for productivity
ACP (Agent Client Protocol) - See [Feature]: Support ACP (Agent Client Protocol) #2968
Desktop app - Important for UX
Web interface - Important for accessibility
GitHub Actions / GitLab CI / Slack integrations - Important for workflows
JetBrains integration - Important for developer reach
Computer use (--chrome) - Important for GUI workflows
ForgeCode Unique Advantages (not in Claude Code)
43 provider support (vs Claude Code Anthropic-only)
MCP server mode (Forge can act as MCP server)
MCP OAuth (device/code/PKCE login/logout)
Semantic code search (workspace indexing via embeddings)
Doom-loop detection (automatic stuck-pattern breaker)
Interactive fuzzy picker (forge select for models, agents, providers, etc.)
Full shell plugin (ZSH theme, plugin, keyboard bindings, dispatcher, actions)
Custom commands/skills system
Plan tool (PlanCreate for structured planning)
forge data (JSONL schema-constrained data processing pipeline)
forge commit (AI-generated commit messages)
forge suggest (NL to shell command)
Conversation lifecycle (list, new, dump, compact, retry, resume, show, info, stats, clone, rename, delete)
Config migration (forge config migrate for ~/forge → ~/.forge)
Diagnostics (forge doctor, forge zsh doctor, forge logs)
Cross-references
Co-Authored-By: ForgeCode noreply@forgecode.dev
Epic: Claude Code vs ForgeCode Feature Comparison
Track features that Claude Code has and their status in ForgeCode. Use this issue to identify gaps and prioritize development.
Legend
Core CLI Features
-p)claude -p)forge -p)--continue,--resume)--conversation-id)--fork-session)conversation clone)conversation clone <id>creates new conversation with new ID. Task toolsession_idallows subagent resume.--resume "name")conversation rename)conversation rename <id> <name>claude ls)conversation list [--porcelain])cat file | claude -p)cat file | forge -p)--output-format json/stream-json/text)--porcelain,conversation dump --html)--porcelainon most subcommands, JSON/HTML export viaconversation dump. Nostream-jsonevent streaming.--system-prompt)--model)--agent)--agent)--max-budget-usd)--effort)forge config set reasoning-effort <level>)Effortenum: none/minimal/low/medium/high/xhigh/max. Alsomax_tokens,exclude,enabledflags.crates/forge_config/src/reasoning.rs,crates/forge_domain/src/agent.rsPolicyenum with All/Any/Not operators, Local/User scope.crates/forge_domain/src/policies/policy.rs--verbose)--verbose)Agent & Subagent Features
tasktool)tasktool withagent_id+session_idfor resume. Custom agents in.forge/agents/.claude agents).claude/subagents/).forge/agents/)Memory & Context
crates/forge_app/src/hooks/title_generation.rsfs_undotool +forge_snaps)FSUndoin ToolCatalog, SnapshotService for per-file snapshot/rewind.crates/forge_domain/src/tools/catalog.rs,crates/forge_snaps/src/service.rs/compact)conversation compact <id>)crates/forge_domain/src/compact/Tools & Integrations
McpServerConfig::{Stdio, Http}transports.crates/forge_domain/src/mcp.rscrates/forge_infra/src/mcp_server.rs— Forge can expose itself as MCP server. ForgeCode advantagemcp login/mcp logout)crates/forge_domain/src/auth/oauth_config.rsForgeCode advantageFetchtool for URL content retrieval.--chrome)on_start,on_end,on_request,on_response,on_toolcall_start,on_toolcall_end. Built-in: CompactionHandler, DoomLoopDetector, TitleGenerationHandler.crates/forge_domain/src/hook.rs. Not user-configurable yet.crates/forge_domain/src/tools/catalog.rs.forge/skills/, commands in.forge/commands/.IDE & Platform
forge vscode install-extension)claude-cli://)SDK & Automation
--json-schema)forge data --schema)forge dataruns JSONL batches constrained by--schemaJSON schema. No--json-schemaflag on-pitself.forge -p+forge data)/loop)Code Review & Quality
/code-review)ultrareview)ultraplan)/autofix-pr)Worktree & Isolation
--worktree)--sandbox <name>)crates/forge_main/src/sandbox.rsEnterprise & Admin
crates/forge_repo/src/provider/provider.jsonforge info,conversation stats)Usagestruct withcostfield.crates/forge_main/src/info.rs--max-budget-usd)UX Features
shell-plugin/lib/bindings.zshregisters custom ZLE widgets (forge-accept-line,forge-completion, bracketed-paste).forge.theme.zsh)forge zsh rprompt)shell-plugin/with plugin, theme, keyboard, dispatcher, actions, context, completion, highlight, config, helpers, bindings.forge update)DoomLoopDetectorhook detects [A,A,A,A] and [A,B,C][A,B,C][A,B,C] patterns. ForgeCode advantage.crates/forge_app/src/hooks/doom_loop.rsforge select)forge select {model, agent, provider, reasoning-effort, command, conversation, file}. ForgeCode advantageSummary
ForgeCode already has: ~45 features
ForgeCode is missing: ~25 features
Partial implementation: ~6 features
Top Priority Missing Features (by impact)
--output-format stream-json) - Critical for CI/CD--max-budget-usd) - Important for enterprise--chrome) - Important for GUI workflowsForgeCode Unique Advantages (not in Claude Code)
forge selectfor models, agents, providers, etc.)PlanCreatefor structured planning)forge data(JSONL schema-constrained data processing pipeline)forge commit(AI-generated commit messages)forge suggest(NL to shell command)forge config migratefor~/forge→~/.forge)forge doctor,forge zsh doctor,forge logs)Cross-references
Co-Authored-By: ForgeCode noreply@forgecode.dev