wiki / raw / boris-cherny-how-boris-uses-claude-code-2026

How Boris Uses Claude Code: 13 Core Tips & Advanced Workflows

updated 2026-08-27

Original source: https://howborisusesclaudecode.com/ SHA256: e62a22b875a3d4fb30fc21d2f883aa02d536bbe6e14d1a124aedc024dd5c4e25

How Boris Uses Claude Code: 13 Core Tips & Advanced Workflows

By Boris Cherny (compiled by Carolina Cherry, 2026). Sourced from Boris Cherny’s public workflow disclosures.

A detailed compendium of 13 practical tips, hooks, subagent architectures, and daily maintenance routines used by the creator of Claude Code.

Core Extraction Summary

1. Named Frameworks & Patterns (Author’s Exact Words)

  • “5 Claudes in Parallel”: Running 5 concurrent Claude Code terminal tabs across 5 separate git checkouts or worktrees.
  • “Opus with Thinking for Everything”: Using the most capable reasoning model exclusively (“less steering + better tool use = faster overall results”).
  • “Shared CLAUDE.md Memory”: Checking CLAUDE.md into git and ratcheting negative constraints and workflow commands multiple times per week.
  • “@.claude in Code Reviews”: Tagging @claude in GitHub PR reviews to automatically commit learnings into CLAUDE.md (Compounding Engineering).
  • “Plan Mode Workflow”: Plan mode -> Refine plan -> Auto-accept edits -> Claude 1-shots implementation.
  • “PostToolUse Hooks for Auto-Formatting”: Formatting hook (bun run format || true) attached to Write|Edit tool events to eliminate syntax CI failures.
  • “Pre-Allow Safe Permissions”: Configuring /permissions in .claude/settings.json to allow safe test/lint commands while denying dangerous operations.
  • “Domain-Specific Verification”: Boris’s #1 tip: providing Claude a direct feedback loop (e.g. Chrome extension for UI testing) “2-3x the quality of the final result”.
  • “Subagents as PR Automations”: Specialist subagents (code-simplifier, verify-app, build-validator, oncall-guide).
  • “Truth Tables as PR Evidence”: Requiring agents to generate structured truth tables and before/after verification proofs in PR descriptions.
  • “Daily Maintenance Routines”: Eleven automated routines (crash fuzzer, dead-code removal, abstraction police, dup unifier) yielding 388 PRs with 180 clean merges.

2. Decision Rules

  • When configuring models for agentic loops, choose the highest-capability thinking model (Opus) over smaller fast models, because smaller models require significantly more steering and tool-use correction.
  • When an agent exhibits an undesired behavior, immediately add a negative constraint to CLAUDE.md, because repo-level memory prevents recurring mistakes across all sessions.
  • When executing UI changes, require the agent to open a real browser via extension/DevTools and verify visual state, because UI changes cannot be verified by code inspection alone.
  • When setting permissions, pre-allow read, build, test, and lint commands in settings, because this prevents prompt interruption without compromising filesystem security.

3. Anti-Patterns & Failure Mechanisms

  • “Using --dangerously-skip-permissions: Bypassing permission checks indiscriminately instead of defining granular pre-allowed tool patterns.
  • “Unverified PRs”: Submitting agent-generated code without domain-specific execution evidence.
  • “Single-threaded prompt waiting”: Waiting for one agent turn to complete instead of running parallel worktrees with background notifications.

4. Quantitative Claims & Qualifiers

  • Providing Claude an automated verification feedback loop yields a 2–3x quality improvement in final code results.
  • Claude generates well-formatted code 90% of the time; PostToolUse hooks catch the remaining 10% edge cases.
  • Boris runs 5 parallel instances in terminal + 5–10 web/mobile sessions.
  • Automated maintenance routines generated 388 PRs resulting in 180 clean merges (probe-then-delete approach).

5. What the Source Does NOT Claim

  • Does NOT claim that smaller, cheaper models are more cost-effective for agentic development; explicitly claims larger reasoning models are cheaper and faster in total due to minimal steering.

13 Practical Tips Breakdown

  1. Run 5 Claudes in Parallel: 5 separate terminal tabs, each in its own git checkout/worktree (~/repo-1 to ~/repo-5), with iTerm2 notifications.
  2. Parallel Web & Mobile Sessions: 5–10 additional sessions on claude.ai/code, using & (background) and --teleport.
  3. Opus with Thinking for Everything: Superior tool calling and reasoning outweighs latency.
  4. Shared CLAUDE.md Documentation: Central repo memory checked into git.
  5. @.claude in PR Reviews: Compounding engineering via automated PR learning commits.
  6. Start in Plan Mode: Refine the plan with shift+tab before auto-accepting code edits.
  7. Slash Commands for Inner Loops: Checked in under .claude/commands/ with inline Bash pre-computations.
  8. Subagents for Workflows: code-simplifier, verify-app, build-validator.
  9. PostToolUse Hooks: Auto-format on every Write|Edit tool call.
  10. Pre-Allow Safe Permissions: Grant granular permissions in .claude/settings.json.
  11. Tool Integrations: MCP servers for Slack, BigQuery (bq), and Sentry.
  12. Handle Long-Running Tasks: Background verification agents and stop hooks.
  13. Verification (#1 Tip): Give Claude domain-specific verification tools (Chrome extension, test runners) to 2-3x quality.