Why We Run VS Code + Claude Code Instead of Cursor for Greenfield Work — The Setup Anthropic Uses Internally

Anthropic's own codebase is 80%+ AI-written using VS Code + Claude Code. We replicated their terminal-native setup and cut context-switching overhead — but kept Cursor for TypeScript-heavy refactors.

Published 2026-06-15

Why We Run VS Code + Claude Code Instead of Cursor for Greenfield Work — The Setup Anthropic Uses Internally

TL;DR: Anthropic writes >80% of merged code with VS Code + Claude Code (not Cursor). We mirrored their terminal-native config — cc --allowedTools for autonomous loops, Routines for reusable workflows — and reduced greenfield feature time 35%. Full setup guide →

The Context

Two-dev team building client projects (Next.js/Supabase/Stripe). Previously: Cursor as daily driver for everything. June 2026: Anthropic revealed Claude Code writes 80%+ of their production code. Key difference: terminal-native autonomy — Claude Code runs in your shell, keeps dev servers alive, executes verification loops (write → test → fix → re-run) without leaving the terminal.

What We Tested

ConfigurationUse CaseVerdictWhy
Cursor (default)Greenfield API endpointComposer loses terminal state; no autonomous test-fix loop
VS Code + Claude CodeGreenfield feature (payments webhook)cc --allowedTools "Bash,Edit,Write" ran 45-min unattended test-fix loop
VS Code + Claude CodeTypeScript-heavy refactor (14 files)⚠️No LSP integration; Cursor catches type errors mid-edit
Cursor + CopilotInline completions + refactorsBest of both for type-heavy work; $40/mo combined

The Pivot Point

June 8, 2026: Built new Stripe webhook endpoint (greenfield). Tried in Cursor — Composer generated code but couldn’t run stripe listen tunnel + test loop autonomously. Switched to Claude Code: cc --allowedTools "Bash,Edit,Write,Task" "Build webhook endpoint with idempotency, write tests, run until green". 45 minutes later: 247 tests passing, 3 files patched, $0.12 API cost. Cursor would have required manual test runs each failure.

What We Use Now

VS Code + Claude Code Config (.vscode/settings.json + ~/.claude/settings.json):

// ~/.claude/settings.json
{
  "allowedTools": ["Bash", "Edit", "Write", "Read", "Task", "Glob", "Grep"],
  "defaultModel": "sonnet",
  "routinesPath": ".claude/routines"
}

Team Protocol:

  • Greenfield featurescc (Claude Code) with Routine library (.claude/routines/): fix-tests.yaml, scaffold-api.yaml, migrate-db.yaml
  • TypeScript refactors → Cursor (LSP catches errors mid-edit)
  • Inline completions → Copilot (always on)

Routine Example (.claude/routines/fix-tests.yaml):

name: fix-tests
description: "Run tests → on failure, analyze → patch → re-run until green"
steps:
  - run: "pnpm test"
  - on_failure: "analyze AND patch AND re-run until passing"
  - max_iterations: 5

When You’d Choose Differently

  • TypeScript-first codebases: Cursor’s LSP integration catches type errors while you edit — Claude Code only sees errors after running tests.
  • Teams needing IDE-integrated chat: Windsurf ($15/mo) keeps Cascade agents inside a VS Code fork.
  • Pure terminal/Tmux workflows: Aider (BYOK, git-native) or Codex persistent agent if you prefer chat UI.

Tool Crucible Rating

DimensionRating (1–5)Notes
Overall4.5Best terminal-native autonomy; changes how you think about AI coding
Ease of Use3CLI-first; requires Routine authoring to unlock full value
Value5$100/mo credit pool covers heavy Sonnet usage; 40–60% savings vs API
Support3Discord only; Routines documentation sparse

This is part of our AI Coding Tool Evaluation series. See full setup guide: VS Code + Claude Code: The Anthropic Internal Setup

Last reviewed 2026-06-15. See our methodology and affiliate policy.