Skip to content

Epic: Feature Comparison - Cursor CLI vs ForgeCode #3503

@ImBIOS

Description

@ImBIOS

Epic: Cursor CLI vs ForgeCode Feature Comparison

Track features that Cursor CLI (Agent) has and their status in ForgeCode. Use this issue to identify gaps and prioritize development.

Docs: https://cursor.com/docs/cli/overview

Legend

  • = ForgeCode already has this feature
  • = ForgeCode does NOT have this feature yet
  • [~] = Partial implementation

Core CLI Features

Feature Cursor CLI ForgeCode Status Notes
Interactive TUI Yes (agent) Yes [x]
Non-interactive mode Yes (agent -p) Yes (forge -p) [x]
Initial prompt Yes (agent "prompt") Yes (forge -p "prompt") [x]
Session resume Yes (agent resume, --continue) Yes (--conversation-id) [x]
Session list Yes (agent ls) Yes (conversation list [--porcelain]) [x]
Session fork Yes Yes (conversation clone) [x] conversation clone <id> creates new conversation with new ID. Task tool session_id allows subagent resume.
Named sessions Yes Yes (conversation rename) [x] conversation rename <id> <name>
Model selection Yes (--model) Yes (via config) [x]
Output formats Yes (text, json, stream-json) Partial (--porcelain, conversation dump --html) [~] --porcelain on most subcommands, JSON/HTML export via conversation dump. No stream-json event streaming.
Force/auto-apply mode Yes (--force, --yolo) No [ ] Auto-apply changes without review. ForgeCode has Policy::Confirm for interactive approval.
Shell mode Yes (built-in) Yes (shell tool) [x] Built-in shell/command execution tool
Reasoning effort control Yes (/max-mode) Yes (forge config set reasoning-effort) [x] Effort enum: none/minimal/low/medium/high/xhigh/max. max_tokens, exclude, enabled. crates/forge_config/src/reasoning.rs
Auto-update Yes (agent update) Yes (forge update) [x]

Modes

Feature Cursor CLI ForgeCode Status Notes
Agent mode (full access) Yes (default) Yes [x]
Plan mode Yes (--plan, /plan) Yes (PlanCreate tool) [x] PlanCreate creates structured plans before execution. crates/forge_services/src/tool_services/plan_create.rs
Ask mode (read-only) Yes (--mode=ask, /ask) No [ ] Read-only exploration without tools
Max mode (extended thinking) Yes (/max-mode) Yes (reasoning effort + max_tokens) [x] Effort::max + max_tokens in ReasoningConfig

Agent & Cloud Features

Feature Cursor CLI ForgeCode Status Notes
Cloud Agent handoff Yes (& prefix) No [ ] Push conversation to cloud
Cloud Agent web/mobile Yes (cursor.com/agents) No [ ] Pick up tasks from web/mobile
Background agents Yes No [ ]
Subagents Yes Yes (task tool) [x] task tool with agent_id + session_id for resume.
Custom agents Yes (Skills) Yes (.forge/agents/) [x]

Sandbox & Security

Feature Cursor CLI ForgeCode Status Notes
Sandbox controls Yes (/sandbox, --sandbox) Yes (--sandbox <name> git worktree) [x] Creates git worktree. crates/forge_main/src/sandbox.rs
Network access control Yes (sandbox settings) No [ ]
Sudo password prompting Yes No [ ] Secure IPC channel for elevated commands
Approval agents Yes No [ ]
Security agents Yes No [ ]
Permission rules Yes Yes (Policy system) [x] Policy enum (Allow/Deny/Confirm) with All/Any/Not operators, Local/User scope. crates/forge_domain/src/policies/policy.rs

Protocol & Integration

Feature Cursor CLI ForgeCode Status Notes
ACP (Agent Client Protocol) Yes (agent acp) No [ ] Key protocol - See also #2968
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. ForgeCode advantage
MCP OAuth No Yes (mcp login/mcp logout) [x] OAuth device/code/PKCE, refresh, custom headers. ForgeCode advantage
Hooks 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.
Plugins Yes Yes (skills + shell plugin) [~]
Skills Yes Yes [x] Skills in .forge/skills/, skill_fetch tool.
Rules Yes Yes (AGENTS.md) [x]
Bugbot (automated bug reports) Yes No [ ]
Automations Yes No [ ]

IDE & Platform

Feature Cursor CLI ForgeCode Status Notes
Cursor IDE integration Yes (native) No [ ]
VS Code extension Yes (via Cursor IDE) Yes (forge vscode install-extension) [x]
JetBrains integration Yes (via ACP) No [ ]
Neovim integration Yes (avante.nvim via ACP) No [ ]
Zed integration Yes (via ACP) No [ ]
Desktop app Yes (Cursor IDE) No [ ]
Web interface Yes (cursor.com/agents) No [ ]
Mobile access Yes No [ ]
Deep links Yes No [ ]

SDK & Automation

Feature Cursor CLI ForgeCode Status Notes
Headless/CI mode Yes (-p, --force) Yes (forge -p + forge data) [x]
Image analysis Yes (file paths in prompts) Yes (InputModality::Image) [x] fs_read reads images when model supports it. max_image_size_bytes configurable. crates/forge_domain/src/model.rs, crates/forge_domain/src/image.rs
Batch processing Yes (scripts) Yes (forge data) [x] JSONL schema-constrained batches with --concurrency.
TypeScript SDK Yes No [ ]
Python SDK Yes No [ ]
Structured output No Yes (forge data --schema) [x] JSONL schema-constrained output. ForgeCode advantage

Cloud & Infrastructure

Feature Cursor CLI ForgeCode Status Notes
Self-hosted pool Yes No [ ]
Google Cloud Run Yes No [ ]
My Machines (remote) Yes No [ ]

Headless/CI Features

Feature Cursor CLI ForgeCode Status Notes
Streaming JSON output Yes (--output-format stream-json) No [ ] ForgeCode has --porcelain for machine-readable output, but no streaming event format.
File modification in scripts Yes (--force) No [ ]
Real-time progress tracking Yes (event types) No [ ]

Memory & Context

Feature Cursor CLI ForgeCode Status Notes
AGENTS.md / Rules Yes Yes (AGENTS.md) [x]
Auto memory Yes Yes (TitleGenerationHandler) [x] Auto-generates conversation title. crates/forge_app/src/hooks/title_generation.rs
Context compaction No Yes (conversation compact <id>) [x] Compact + Compactor engine, CompactionStrategy, CompactionHandler hook. ForgeCode advantage
Checkpointing (file rewind) No Yes (fs_undo tool + forge_snaps) [x] ForgeCode advantage

Cursor Review (Closed Beta)

Feature Cursor CLI ForgeCode Status Notes
PR inbox Yes No [ ]
PR page Yes No [ ]
Merge queue Yes No [ ]
Review CLI Yes No [ ]

ForgeCode-Specific Features (not in Cursor CLI)

Feature ForgeCode Notes
Multi-provider support 43 providers vs Cursor-only
Semantic code search workspace query - embedding-based workspace search
Doom-loop detection DoomLoopDetector hook
Interactive fuzzy picker forge select {model, agent, provider, reasoning-effort, command, conversation, file}
Full shell plugin ZSH theme, plugin, keyboard bindings, dispatcher, actions
Plan tool PlanCreate for structured planning
Structured data pipeline forge data - JSONL schema-constrained batches
AI commit messages forge commit with --preview and --max-diff
NL to shell forge suggest <nl>
Conversation lifecycle conversation {list, new, dump, compact, retry, resume, show, info, stats, clone, rename, delete}
Config migration forge config migrate
Diagnostics forge doctor, forge zsh doctor, forge logs
Theme customization forge.theme.zsh + forge zsh rprompt
Cost tracking Usage + conversation stats
Permissions policy Policy enum with Allow/Deny/Confirm and All/Any/Not operators
MCP server mode Forge exposes itself as MCP server
MCP OAuth Device/code/PKCE login/logout
Web fetch Built-in Fetch tool with robots.txt respect
6 auth methods ApiKey, OAuthDevice, OAuthCode, GoogleAdc, AwsProfile, CodexDevice

Summary

ForgeCode already has: ~35 features
ForgeCode is missing: ~22 features
Partial implementation: ~3 features

Top Priority Missing Features (by impact)

  1. ACP (Agent Client Protocol) - Critical for IDE/editor integration. See also [Feature]: Support ACP (Agent Client Protocol) #2968
  2. Streaming JSON output (stream-json event types) - Critical for CI/CD and automation
  3. Ask/read-only mode - Important for safe exploration
  4. Cloud Agent handoff - Important for remote/async work
  5. Force/auto-apply mode (--force) - Important for CI/CD
  6. TypeScript SDK - Important for ecosystem
  7. Python SDK - Important for ecosystem
  8. Desktop app - Important for UX
  9. JetBrains/Neovim/Zed integration (via ACP) - Important for developer reach
  10. Network access control - Important for security

ForgeCode Unique Advantages (not in Cursor CLI)

  • 43 provider support (vs Cursor Cursor-only)
  • MCP server mode + MCP OAuth
  • Semantic code search (workspace indexing via embeddings)
  • Doom-loop detection (automatic stuck-pattern breaker)
  • Interactive fuzzy picker (forge select)
  • Full shell plugin (ZSH theme, plugin, keyboard bindings, dispatcher, actions)
  • Plan tool (PlanCreate)
  • forge data (JSONL schema-constrained data processing pipeline)
  • forge commit (AI-generated commit messages)
  • forge suggest (NL to shell command)
  • Conversation lifecycle (full CRUD + compact + retry + dump)
  • Config migration (forge config migrate)
  • Diagnostics (forge doctor, forge zsh doctor, forge logs)
  • Theme customization (forge.theme.zsh)
  • Cost tracking (Usage + conversation stats)
  • Permissions policy system
  • Context compaction (auto + manual)
  • Checkpointing (fs_undo + forge_snaps)
  • Web fetch (built-in Fetch tool)
  • 6 auth methods

Cross-references

Co-Authored-By: ForgeCode noreply@forgecode.dev

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions