Skip to content

claude code comparison

dmang-dev edited this page Jul 20, 2026 · 1 revision

eVi vs Claude Code — feature comparison

How eVi's capabilities line up against the full Claude Code docs surface (reviewed 2026-06-16, eVi 0.33.0). eVi is local-first, single-user, privacy-first, so a number of Claude Code's cloud/enterprise features are intentionally out of scope rather than "missing".

Legend: ✅ have · ⚠️ partial · ❌ gap (buildable, on the roadmap) · 🚫 not planned (philosophy mismatch / separate big track).

Core

Claude Code eVi equivalent Status
Agentic loop + built-in tools evi/llm/agent.py; 20+ tools
Common workflows (explore/fix/refactor/test) chat, evi review, recipes
Interactive mode + keyboard shortcuts prompt_toolkit REPL (tab-complete, history, keybindings.toml)
Goals /goal, agent.goal
Scheduled tasks scheduler (APScheduler), evi scheduled
Voice dictation STT + voice loop

Sessions & conversation

Claude Code eVi equivalent Status
Name / resume / branch / switch evi sessions (list/show/resume/continue/fork/title); edit/branch/reroll
Checkpointing (rewind edits + convo) file rewind (Ph 64) + convo edit/branch/reroll
Continue / resume / fork evi sessions continue / fork (Ph 71)
Remote control (drive from a phone) remote-backend mode + multi-machine ⚠️ no cross-device session handoff
Deep links (open from a URL) 🚫 niche

Permissions & safety

Claude Code eVi equivalent Status
Permission modes (ask/accept-edits/plan/yolo) auto.mode (Ph 66)
Fine-grained allow/deny rules auto.rules (Ph 66)
Auto-mode config (trusted dirs / domains) auto.trusted_dirs + trusted_domains (Ph 77)
Sandboxed bash/code [tools] sandbox (Ph 67)
Security / vuln review guardrails, security.yml (pip/cargo audit), review --multi
Content moderation / safety filter guardrails.toml — regex (block/redact) + LLM-judge + offline ML classifier + dedicated guard model (Llama Guard / ShieldGemma) on input/output ✅ (no in-harness equivalent in Claude Code)

Extension & customization

Claude Code eVi equivalent Status
CLAUDE.md / memory EVI.md/AGENTS.md project context + memory (+ tags)
Nested CLAUDE.md (large codebases) merges EVI.md/AGENTS.md up the tree (Ph 76)
Skills SkillStore
Subagents delegate_* + parallel_research (Ph 61)
Output styles [llm] output_style (Ph 69)
Hooks (incl. HTTP hooks) hooks.toml (command/url; tool + lifecycle events: user_prompt_submit/before_compact/stop/session_start/session_end; conditional arg_match)
Status line [statusline] (Ph 72)
Keybindings keybindings.toml + evi keybindings (Ph 82)
Skills tool-scoping (allowed/disallowed-tools) SKILL.md allowed-tools/disallowed-toolsevi/skillscope.py scopes the toolset while a skill is active
Custom slash commands ~/.evi/commands frontmatter/$ARGS/@file/namespacing (Ph 62)
Nested skills (subfolders) recursive SKILL.md scan
/add-dir (extra working dirs) /add-dir → session trusted_dirs
!cmd shell passthrough !cmd in the REPL (output folded into context)
AskUserQuestion (clarifying Qs) ask_user tool (interactive-only; graceful no-op in web/headless)

Plugins & MCP

Claude Code eVi equivalent Status
Plugins (bundle commands/skills/agents/hooks) evi plugin add/init/list/remove; bundles commands+skills+hooks+MCP+subagent profiles; installs from dir / git / .zip / URL; bin/ on PATH
Plugin scaffolding evi plugin init <name> (starter command + skill)
Plugin marketplaces / discovery evi plugin search/install + [plugins] index_urls (curated index)
MCP client (connect to servers) MCPManager, mcp.json
MCP server (publish eVi's tools) evi mcp serve (stdio + HTTP)
Managed MCP (allowlists + output cap) per-tool allow on publish + tools.mcp_allow (Ph 78) + tools.mcp_max_output_chars

Platforms

Claude Code eVi equivalent Status
CLI Typer CLI
Desktop app Tauri desktop (menus/tray/updater)
Web FastAPI + SSE web UI
Headless / print mode evi run (Ph 65)
VS Code / JetBrains extensions 🚫 separate track
Mobile / web cloud platform 🚫 local-first
Computer use computer tool
Chrome / browser automation 🚫 deferred for MCP browser servers
Slack integration ❌ integrations backlog

Review · planning · orchestration

Claude Code eVi equivalent Status
Code review (multi-agent) evi review --multi (Ph 70)
Run agents in parallel parallel_research (Ph 61)
Worktrees (isolate parallel sessions) git worktrees + [worktree] base_ref default
Dynamic workflows (script many subagents) recipes + workflows + ultracode ✅ TOML DAG + fixed pipeline
Agent teams (shared task list) evi team — lead decomposes, teammates claim+drain (evi/teams.py)
Agent view (live dispatch dashboard) Dispatch panel + GET /api/dispatch/stream (SSE, busy dots)
Ultrareview (CI gate) evi review --multi --exit-code / --json + /ultrareview ✅ local
Ultraplan (cloud) local plan mode 🚫 cloud

Automation & triggers

Claude Code eVi equivalent Status
Routines (schedule / webhook trigger) scheduler + evi routine webhook→recipe (Ph 73)
Channels (push alerts into a session) POST /api/session/{id}/channel — note by default, or run:true drives a live agent turn
GitHub Actions / GitLab CI packaged evi-run composite action + ready examples/github/pr-review.yml

Config · models · cost

Claude Code eVi equivalent Status
Settings (global + project) config + profiles + .evi.toml (Ph 74) + settings UI
Env vars / .claude dir EVI_* env + ~/.evi
Model config / aliases / fast mode model picker, routing, fast_mode
Fallback model [llm] fallback_models (retry the turn down the chain)
Extended thinking on/off reasoning_effort off/low/medium/high/max (/effort)
Transcript retention (cleanupPeriodDays) tools.cleanup_period_days + evi sessions purge
Prompt caching cache_prompt
Context window display usage chip + status line ⚠️ no interactive sim
Cloud backends (Bedrock/Vertex/Foundry) openai_compat (covers gateways/proxies) 🚫 by design
Cost management / analytics dashboards token usage shown 🚫 local = free

SDK & programmatic

Claude Code eVi equivalent Status
Headless mode evi run --format json (Ph 65)
Custom tools @tool decorator
File checkpointing evi rewind (Ph 64)
Structured outputs /json + JSON-Schema (/schema, evi run --schema)
Batch API evi batch <file> → JSONL (parallel)
Evals evi eval (assertions + LLM-as-judge; --eval on a schedule)
Usage analytics evi stats (local; sessions/tools/by-category/busy days) ✅ local-only
Transcript search (Ctrl+R / resume) evi sessions search <query> (snippets)
Responses API built-in tools [llm] responses_tools (web_search/code_interpreter/…) ✅ opt-in
Multi-user / teams [web] multi_user + users.json (per-user tokens + isolated sessions/transcripts/memory) ✅ opt-in
Federation (agent↔agent across machines) evi peer / delegate_peer / /api/federate ✅ eVi-unique
Permissions SDK permission policy (Ph 66)
Public Agent SDK (library) evi.sdk — curated re-export + build_agent() + examples (Agent SDK (evi.sdk))
Session storage (S3/Redis) local JSONL transcripts 🚫 local-first
OpenTelemetry / monitoring opt-in crash reporting (Sentry-compatible) ⚠️ no metrics/traces
Tool search (1000s of tools) [tools] tool_search defers the long tail behind a search_tools meta-tool ✅ opt-in

Org / enterprise / compliance

Claude Code eVi equivalent Status
Admin setup, server-managed settings, team onboarding 🚫 single-user
Authentication (accounts/SSO) web auth token; local backends need none 🚫 local
ZDR / legal / data-usage private by design (everything local) 🚫 N/A

Summary — specialty SLMs + opencode/Cursor gleanings (0.34.0)

Beyond Claude Code, eVi pulled in the genuinely-local wins from opencode and Cursor and added small specialty models:

  • Specialty SLMs[models] ocr/vision/stt/tts/guard/diarize/doc_layout registry; describe_image + OCR-VLM routing (Moondream2 / Qwen2.5-VL / GLM-OCR), Kokoro TTS, faster-whisper turbo. A small model per task, no main-model swap. (0.37.0) added a safety-guard layer (Llama Guard / ShieldGemma → [[guard]] rule), speaker diarization (evi voice diarize, pyannote), and document layout/OCR (ocr_image engine=doc, Docling). Capability chips now cover 🔧 tools, 🛡 guard, ◆ embeddings/reranker (plus the existing 👁 vision / 🧠 thinking / ⌨ infill / 🎤 audio).
  • Working folder — per-session cwd (/cd, --cwd, web 📁 chip).
  • opencode core — real shell tool, apply_patch (multi-hunk), format-on-edit + check_file diagnostics (LSP-lite), persistent /plan toggle, evi init (AGENTS.md, already discovered up-tree).
  • Cursor gleanings (local-first only) — local FIM completion engine (evi complete / /api/complete) so eVi is a local Tab/Copilot backend; Bugbot-style review (.evi/BUGBOT.md + evi review-remember + severity). (evi edit already existed.) Cursor's cloud bits (Cloud Agents, remote PR Bugbot, Design Mode, Slack, enterprise) remain out by the local-first rule.
  • Deferred (need a separate client / deeper work): a VS Code/LSP extension to render the FIM completions as ghost-text; a full language-server integration (eVi ships the lighter check_file/format-on-edit instead).

Summary — S/M parity batch (0.33.0)

Closed in 0.33.0 (the "close every buildable small/medium gap" pass):

  • Model fallback chain[llm] fallback_models retries the turn down the chain on a setup failure.
  • Extended thinking offreasoning_effort = "off" (plus /effort off); centralized in reasoning.py.
  • Transcript retentiontools.cleanup_period_days (auto-prune on startup) + evi sessions purge.
  • Transcript searchevi sessions search <query> with snippets.
  • MCP output captools.mcp_max_output_chars truncates chatty tool results.
  • Conditional hooksarg_match gates a hook on tool arguments, not just the tool name.
  • Session lifecycle hookssession_start / session_end.
  • CI-gating reviewevi review --multi --exit-code / --json + /ultrareview.
  • Pluginsevi plugin init scaffold; install from .zip/URL; bin/ on PATH; recursive (nested) skill discovery; /reload-skills.
  • /add-dir — trust an extra directory for the session.
  • !cmd — REPL shell passthrough (output folded into context).
  • ask_user tool — AskUserQuestion parity (interactive-only, graceful no-op elsewhere).
  • worktree.base_ref — default fork point for evi worktree create.
  • Usage by categoryevi stats attributes tool calls per category.

Already shipped (0.31.0 → 0.32.0): the full Phase 75–94 roadmap (plugin skills/hooks/MCP/subagent-profiles, nested project context, trusted dirs/domains, MCP allowlist, keybindings, channels, packaged CI action, cross-device handoff, context-window breakdown, OpenTelemetry, fine-tune export, voice engines, CodeQL + gitleaks, Docker→GHCR, sigstore signing), plus evi:// deep links, the plugin marketplace index, and the public Agent SDK (evi.sdk; see Agent SDK (evi.sdk)).

⚠️ Deferred (need an architectural addition or are low-value), not philosophy gaps:

  • Skill tool-scoping (allowed-tools/disallowed-tools in skill frontmatter) — needs a persistent "active-skill" mode in the agent loop (skills are currently one-shot instruction packets).
  • Nested subagent spawning (subagents that spawn subagents) — deliberately gated as a runaway-cost guard.
  • Custom REPL themes — terminal colour themes (output styles already cover response persona).

🚫 Not planned (by design): cloud/enterprise backends (Bedrock/Vertex/Foundry), IDE extensions, mobile, agentic browser, hosted session storage, cost/analytics dashboards, accounts/SSO/admin — eVi is local-first and single-user.


Generated from docs/claude-code-comparison.md — edit there, not here.

Clone this wiki locally