Tag: Claude Code

  • Claude Notion MCP Setup: Securely Connect Your Workspace

    Claude Notion MCP Setup: Securely Connect Your Workspace

    Last refreshed: May 15, 2026

    Update — May 15, 2026: On May 13, 2026, Notion shipped the Notion Developer Platform (version 3.5), with Claude as a launch partner. The platform adds Workers, database sync, an External Agents API, and a Notion CLI. The patterns described in this article still work, but there is now a native, sanctioned alternative for some of what previously required custom MCP wiring or third-party automation. For the full breakdown of what changed and what it means for the Notion + Claude stack, see Notion Developer Platform Launch (May 13, 2026). For the underlying operating philosophy, see The Three-Legged Stack.

    The step most tutorials skip is the one that actually matters.

    Every guide to connecting Claude to Notion walks you through the same mechanical sequence — OAuth flow, authentication, running claude mcp add, and done. It works. The connection lights up, Claude can read your pages, write to your databases, and suddenly your AI has the run of your workspace. The tutorials stop there and congratulate you.

    Here’s the part they don’t mention: according to Notion’s own documentation, MCP tools act with your full Notion permissions — they can access everything you can access. Not the pages you meant to share. Everything. Every client folder. Every private note. Every credential you ever pasted into a page. Every weird thing you wrote about a coworker in 2022 and forgot was there.

    In most setups the blast radius is enormous, the visibility is low, and the decision to lock it down happens after something goes wrong instead of before.

    This is the guide that takes the extra hour. Wiring Claude into your Notion workspace is straightforward. Wiring Claude into your Notion workspace without giving it the keys to everything takes a few additional decisions, a handful of specific configuration choices, and a mental model for what should and shouldn’t flow across the connection. That’s the hour worth spending.

    I run this setup across a real production workspace with dozens of active properties, real client work, and data I genuinely don’t want an AI to have unbounded access to. The pattern below is what works. It is also honest about what doesn’t.


    Why Notion + Claude is worth doing carefully

    Before the mechanics, it’s worth being clear about what you get when you wire this up correctly.

    Claude with access to Notion is not Claude with a better search function. It is a Claude that can read the state of your business — briefs, decisions, project status, open loops — and reason across them to help you run the operation. It can draft follow-ups to conversations it finds in your notes. It can pull together summaries across projects. It can take a decision you’re weighing, find every related piece of context in the workspace, and give you a grounded opinion instead of a generic one.

    That’s the version most operator-grade users want. And it’s only valuable if the trust boundary is drawn correctly. A Claude that has access to your relevant context is a superpower. A Claude that has access to everything you’ve ever written is a liability waiting to catch up with you.

    The whole article is about drawing that boundary on purpose.


    The two connection options (and which one you actually want)

    There are two ways to connect Claude to Notion in April 2026, and the right one depends on what you’re doing.

    Option 1: Remote MCP (Notion’s hosted server). You connect Claude — whether that’s Claude Desktop, Claude Code, or Claude.ai — to Notion’s hosted MCP endpoint at https://mcp.notion.com/mcp. You authenticate through OAuth, which opens a browser window, you approve the connection, and it’s live. Claude can now read from and write to your workspace based on your access and permissions.

    This is the officially-supported path. Notion’s own documentation explicitly calls remote MCP the preferred option, and the older open-source local server package is being deprecated in favor of it. For most operators, this is the right answer.

    Option 2: Local MCP (the legacy / open-source package). You install @notionhq/notion-mcp-server locally via npm, create an internal Notion integration to get an API token, and configure Claude to talk to the local server with your token. You then have to manually share each Notion page with the integration one by one — the integration only sees pages you explicitly grant access to.

    This path is more work and is being phased out. But there’s one genuine reason to still use it: the local path uses a token and the remote path uses OAuth, which means the local path works for headless automation where a human isn’t around to click OAuth buttons. Notion MCP requires user-based OAuth authentication and does not support bearer token authentication. This means a user must complete the OAuth flow to authorize access, which may not be suitable for fully automated workflows.

    For 95% of setups, remote MCP is the right answer. For the 5% running true headless agents, the local package is still the pragmatic choice even though it’s on its way out.

    The rest of this guide assumes remote MCP. I’ll flag the places the advice differs for local.


    The quiet part Notion tells you out loud

    Before we get to the setup, one more thing you need to internalize because it shapes every decision below.

    From Notion’s own help center: MCP tools act with your full Notion permissions — they can access everything you can access.

    Read that sentence twice.

    If you are a workspace member with access to 140 pages across 12 databases, your Claude connection can access 140 pages across 12 databases. Not the 15 you’re working on today. All of them. OAuth doesn’t scope you down to “this project.” It says yes or no to “can Claude see your workspace.”

    This is fine when your workspace is already organized the way you’d want an AI to see it. It is catastrophic when it isn’t, because most workspaces have accumulated years of drift, private notes, credential-adjacent content, sensitive client data, and old experiments that nobody bothered to clean up.

    So before you connect anything, you do the workspace audit. Not because Notion says so. Because your future self will thank you.


    The pre-connection audit (the step tutorials skip)

    Fifteen minutes with the workspace, before you click the OAuth button. Here’s the checklist I run through:

    Find anything that looks like a credential. Search your workspace for the words: password, API key, token, secret, bearer, private key, credentials. Read the results. Move anything sensitive to a credential manager (1Password, Bitwarden, a password-protected vault — not Notion). Delete the Notion copies.

    Find anything you wouldn’t want an AI to read. Search for: divorce, legal, lawsuit, personal, venting, complaint, therapist. Yes, really. People put things in Notion they’ve forgotten are in Notion. An AI that has access to everything you can access will find those things and occasionally surface them in responses. This is embarrassing at best and career-ending at worst.

    Look at your database of clients or contacts. Is there anything in there that shouldn’t travel through an AI provider’s servers? Notion processes MCP requests through Notion’s infrastructure, not yours. Sensitive legal matters, medical information, financial details about third parties — these may deserve a workspace or sub-page that stays outside of what Claude is allowed to see.

    Identify what Claude actually needs. Make a short list: your active projects, your working databases, your briefs page, your daily/weekly notes. This is what you actually want Claude to have context on. The rest is noise.

    Decide your posture. Two options here. You can run Claude against your main workspace and accept the blast radius, or you can create a separate workspace (or a teamspace) that contains only the pages and databases you want Claude to see, and connect Claude to that one. The second option is more work upfront. It is also the only version that actually draws the boundary.

    I run the second option. My Claude-facing workspace is genuinely a subset of what I work with, and the rest of my Notion is on a different membership. It took an hour to set up. It was worth it.


    Connecting remote MCP to Claude Desktop

    Now the mechanics. Starting with Claude Desktop because it’s the simplest.

    Claude Desktop gets Notion MCP through Settings → Connectors (not the older claude_desktop_config.json file, which is being phased out for remote MCP). This is available on Pro, Max, Team, and Enterprise plans.

    Open Claude Desktop. Settings → Connectors. Find Notion (or add a custom MCP server with the URL https://mcp.notion.com/mcp). Click Connect. A browser window opens, Notion asks you to authenticate, you approve. Done.

    The connection now lives in your Claude Desktop. You can start a new conversation and ask Claude to read a specific page, summarize a database, or draft something based on workspace content, and it will.

    One hygiene note: Claude Desktop connections are per-account. If you have multiple Claude accounts (say, a personal Pro and a work Max), each one needs its own connection to Notion. The good news is you can point each one at a different Notion workspace — personal Claude at personal Notion, work Claude at work Notion. This is the operator pattern I recommend for anyone running more than one business context through Claude.


    Connecting remote MCP to Claude Code

    Claude Code is the path most operators actually run at depth, because it’s the version of Claude that lives in your terminal and can compose MCP calls into real workflows.

    The command is one line:

    claude mcp add --transport http notion https://mcp.notion.com/mcp

    Need this set up for your team?

    I set up Claude integrations, GCP infrastructure, and AI workflows for businesses. If you’d rather ship than configure — will@tygartmedia.com

    Then authenticate by running /mcp inside Claude Code and following the OAuth flow. Browser opens, Notion asks you to authorize, you approve, and the connection is live.

    A few options worth knowing about at setup time:

    Scope. The --scope flag controls who gets access to the MCP server on your machine. Three options: local (default, just you in the current project), project (shared with your team via a .mcp.json file), and user (available to you across all projects). For Notion, user scope is usually right — you’ll want Claude to reach Notion from any project you’re working in, not just the current one.

    The richer integration. Notion also ships a plugin for Claude Code that bundles the MCP server along with pre-built Skills and slash commands for common Notion workflows. If you’re doing this seriously, install the plugin. It adds commands like generating briefs from templates and opening pages by name, and saves you from writing your own.

    Checking what’s connected. Inside Claude Code, /mcp lists every MCP server you’ve configured. /context tells you how many tokens each one is consuming in your current session. For Notion specifically, this is useful because MCP servers have non-zero context cost even when you’re not actively using them — every tool exposed by the server sits in Claude’s context, eating tokens. Running /context occasionally is how you notice when an MCP connection is heavier than you expected.


    The permissions pattern that actually protects you

    Now we’re past the mechanics and into the hygiene layer — the part that most guides don’t cover.

    Once Claude is connected to your Notion workspace, there are three specific configuration moves worth making. None of them are hard. All of them pay rent.

    1. Scope the workspace, don’t scope the connection

    The OAuth connection doesn’t let you say “Claude can see these pages but not those.” It lets you say “Claude can see this workspace.” So the place to draw the boundary is at the workspace level, not at the connection level.

    If you have sensitive content in your main workspace, move it. Create a separate workspace for Claude-facing content and keep the sensitive stuff out. Or use Notion’s teamspace feature (Business and Enterprise) to isolate access at the teamspace level.

    This feels like over-engineering until the first time Claude surfaces something in a response that you had forgotten was in your workspace. After that, it doesn’t feel like over-engineering.

    2. For Enterprise: turn on MCP Governance

    If you’re on the Enterprise plan, there’s an admin-level control worth enabling even if you trust your team. From Notion’s docs: with MCP Governance, Enterprise admins can approve specific AI tools and MCP clients that can connect to Notion MCP — for example Cursor, Claude, or ChatGPT. The approved-list pattern is opt-in: Settings → Connections → Permissions tab, set “Restrict AI tools members can connect to” to “Only from approved list.”

    Even if you only approve Claude today, the control gives you the ability to see every AI tool anyone on your team has connected, and to disconnect everything at once with the “Disconnect All Users” button if you ever need to. That’s the kind of control you want to have configured before you need it, not after.

    3. For local MCP: use a read-only integration token

    If you’re using the local path (the open-source @notionhq/notion-mcp-server), you have more granular control than the remote path gives you. Specifically: when you create the integration in Notion’s developer settings, you can set it to “Read content” only — no write access, no comment access, nothing but reads.

    A read-only integration is the right default for anything exploratory. If you want Claude to be able to write too, enable write access later when you’ve decided you trust the specific workflow. Don’t give write access by default just because the integration setup screen presents it as an option.

    This is the one place the local path is actually stronger than remote — you can shape the integration’s capabilities before you grant it access, and the integration only sees the specific pages you share with it. For high-sensitivity setups, this granularity is worth the tradeoff of running the legacy package.


    Prompt injection: the risk nobody wants to talk about

    One more thing before we leave the hygiene section. It’s the thing the industry is least comfortable being direct about.

    When Claude has access to your Notion workspace, Claude also reads whatever is in your Notion workspace. Including pages that came from outside. Including meeting notes that were imported from a transcript service. Including documents shared with you by clients. Including anything you pasted from the web.

    Every one of those is a potential vector for prompt injection — hidden instructions buried in content that, when Claude reads the content, hijack what Claude does next.

    This is not theoretical. Anthropic itself flags prompt injection risk in the MCP documentation: be especially careful when using MCP servers that could fetch untrusted content, as these can expose you to prompt injection risk. Notion has shipped detection for hidden instructions in uploaded files and flags suspicious links for user approval, but the attack surface is larger than any detection system can fully cover.

    The practical operator response is three-part:

    Don’t give Claude access to content you didn’t write, without reading it first. If a client sends you a document and you paste it into Notion and Claude has access to that database, you have effectively given Claude the ability to be instructed by your client’s document. This might be fine. It might be a problem. Read the document before it goes into a Claude-accessible location.

    Be suspicious of workflows that chain untrusted content into actions. A workflow where Claude reads a web-scraped summary and then uses that summary to decide which database row to update is a prompt injection target. If the scraped content can shape Claude’s action, the scraped content can be weaponized.

    Use write protections for anything consequential. Anything where the cost of Claude doing the wrong thing is real — sending an email, deleting a record, updating a client-facing page — belongs behind a human-approval gate. Claude Code supports “Always Ask” behavior per-tool; use it for writes.

    This sounds paranoid. It’s not paranoid. It’s the appropriate level of caution for a class of attack that is genuinely live and that the industry has not yet figured out how to fully defend against.


    What this actually enables (the payoff section)

    Once you’ve done the setup and the hygiene work, here’s what you now have.

    You can sit down at Claude and ask it questions that require real workspace context. What’s the status of the three projects I touched last week? Pull together everything we’ve decided about pricing across the client work this quarter. Draft a response to this incoming email using context from our ongoing conversation with this client. Claude reads the relevant pages, synthesizes across them, and responds with actual grounding — not a generic answer shaped by whatever prompt you happen to type.

    You can run Claude Code against your workspace for development-adjacent operations. Generate a technical spec from our product page notes. Create release notes from the changelog and feature pages. Find every page where we’ve documented this API endpoint and reconcile the inconsistencies.

    You can set up workflows that flow across tools. Claude reads from Notion, acts on another system via a different MCP server, writes results back to Notion. This is the agentic pattern the industry keeps talking about — and with the right permissions hygiene, it actually becomes usable instead of scary.

    None of this is theoretical. I use this pattern every working day. The value is real. The hygiene discipline is what keeps the value from turning into a liability.


    When this setup goes wrong (troubleshooting honestly)

    Five failure modes I’ve seen, in order of frequency.

    Claude doesn’t see the page you asked about. For remote MCP, this almost always means the page is in a workspace you’re not a member of, or in a teamspace you don’t have access to. For local MCP, it means the integration hasn’t been granted access to that specific page — you have to go to the page, click the three-dot menu, and add the integration manually.

    OAuth flow doesn’t complete. Usually a browser issue — popup blocker, wrong Notion account signed in, session expired. Clear auth, try again. If Claude Desktop, disconnect the connector entirely and re-add.

    The connection succeeds but Claude doesn’t seem to be using it. Run /mcp in Claude Code to verify the server is listed and connected. If it’s there and Claude still isn’t invoking it, the issue is usually in how you’re asking — Claude won’t reach for MCP tools just because they exist; you need to phrase the request in a way that makes it obvious the tool is relevant. Find the page about X in Notion works better than tell me about X.

    MCP server crashes or returns errors. For remote, this is rare and usually resolves itself — Notion’s hosted server has the standard cloud-reliability profile. For local, check your Node version (the server requires Node 18 or later), your config file syntax (JSON is unforgiving about trailing commas), and your token format.

    Context token budget goes through the roof. Every MCP server in your connected list contributes tools to Claude’s context on every request. If you have five MCP servers configured, that’s five sets of tool descriptions being loaded into every conversation. Run /context in Claude Code to see the cost. If it’s painful, disconnect the servers you’re not actively using.


    The mental model that keeps you sane

    Here’s the mental model I use for the whole setup. It’s short.

    Claude plus Notion is like giving a new, very capable employee access to your business. You wouldn’t hand a new hire every password, every file, every client record, every private note on day one. You’d give them access to the specific things they need to do the job, watch how they use that access, and expand trust over time based on track record.

    The MCP connection works exactly that way. You decide what Claude gets to see. You decide what Claude gets to write. You watch how it uses that access. You expand the boundary as trust earns itself.

    The operators who get hurt by this kind of setup are the ones who skip the first step and give Claude everything on day one. The operators who get the real value out of it are the ones who treat the connection the way they’d treat any other employee — with deliberate scope, real oversight, and the willingness to revoke access if something goes wrong.

    That’s the discipline. That’s the whole thing.


    FAQ

    Do I need to install anything to connect Claude to Notion? For remote MCP (the recommended path), no installation is required — you connect via OAuth through Claude Desktop’s Settings → Connectors or Claude Code’s claude mcp add command. For local MCP (legacy), you install @notionhq/notion-mcp-server via npm and create an internal Notion integration.

    What’s the URL for Notion’s remote MCP server? https://mcp.notion.com/mcp. Use HTTP transport (not the deprecated SSE transport).

    Can Claude see my entire Notion workspace by default? Yes. MCP tools act with your full Notion permissions — they can access everything you can access. The boundary is set by your workspace membership and teamspace access, not by the MCP connection itself. If you need finer-grained control, isolate Claude-facing content into a separate workspace or teamspace.

    Can I use Notion MCP with automated, headless agents? Remote Notion MCP requires OAuth authentication and doesn’t support bearer tokens, which makes it unsuitable for fully automated or headless workflows. For those cases, the legacy @notionhq/notion-mcp-server with an API token still works, but it’s being phased out.

    What plans support Notion MCP? Notion MCP works with all plans for connecting AI tools via MCP. Enterprise plans get admin-level MCP Governance controls (approved AI tool list, disconnect-all). Claude Desktop MCP connectors are available on Pro, Max, Team, and Enterprise plans.

    Can my company’s admins control which AI tools connect to our Notion workspace? Yes, on the Enterprise plan. Admins can restrict AI tool connections to an approved list through Settings → Connections → Permissions tab. Only admin-approved tools can connect.

    Is Notion MCP secure for confidential business data? The MCP protocol itself respects Notion’s permissions — it can’t bypass what you have access to. However, content flowing through MCP is processed by the AI tool you’ve connected (Claude, ChatGPT, etc.), which has its own data handling policies. For highly sensitive content, the right move is to isolate it in a workspace that Claude doesn’t have access to, rather than relying on the protocol alone to contain it.

    What about prompt injection attacks through Notion content? Real risk. Anthropic explicitly flags it in their MCP documentation. Notion has shipped detection for hidden instructions and flags suspicious links, but no detection system catches everything. The operator response: don’t give Claude access to content you didn’t write without reviewing it first, be suspicious of workflows where untrusted content shapes Claude’s actions, and put human-approval gates on anything consequential.

    What’s the difference between Notion’s built-in AI and connecting Claude via MCP? Notion’s built-in AI (Notion Agent and Custom Agents) runs inside Notion and uses Notion’s integration with frontier models. Connecting Claude via MCP brings Claude — your chosen model, in your chosen interface, with its full capability — to your workspace as an external client. The built-in option is simpler; the MCP option is more powerful and composable across other tools.


    Closing note

    Most tutorials treat the connection as the goal. The connection is the easy part. The hygiene is the part that matters.

    If you wire Claude into your Notion workspace thoughtlessly, you’ve given a capable AI access to every corner of your operational history, and you’ll be surprised how much of what’s in there you’d forgotten. If you wire it in deliberately — with a scoped workspace, with the permissions you’ve thought about, with the posture of giving a new employee measured access — you’ve built something that pays rent every day without ever becoming the liability it could have been.

    One hour of setup. One hour of cleanup. And then one of the most useful AI configurations currently possible in April 2026.

    The intersection of Notion and Claude is where the operator work actually happens now. Worth setting up right.


    Sources and further reading

  • CLAUDE.md File Playbook: Guide Claude Code in 2026

    CLAUDE.md File Playbook: Guide Claude Code in 2026

    Last refreshed: May 15, 2026

    Most writing about CLAUDE.md gets one thing wrong in the first paragraph, and once you notice it, you can’t unsee it. People describe it as configuration. A “project constitution.” Rules Claude has to follow.

    It isn’t any of those things, and Anthropic is explicit about it.

    CLAUDE.md content is delivered as a user message after the system prompt, not as part of the system prompt itself. Claude reads it and tries to follow it, but there’s no guarantee of strict compliance, especially for vague or conflicting instructions. — Anthropic, Claude Code memory docs

    That one sentence is the whole game. If you write a CLAUDE.md as if you’re programming a machine, you’ll get frustrated when the machine doesn’t comply. If you write it as context — the thing a thoughtful new teammate would want to read on day one — you’ll get something that works.

    This is the playbook I wish someone had handed me the first time I set one up across a real codebase. It’s grounded in Anthropic’s current documentation (linked throughout), layered with patterns I’ve used across a network of production repos, and honest about where community practice has outrun official guidance.

    If any of this ages out, the docs are the source of truth. Start there, come back here for the operator layer.


    The memory stack in 2026 (what CLAUDE.md actually is, and isn’t)

    Claude Code’s memory system has three parts. Most people know one of them, and the other two change how you use the first.

    CLAUDE.md files are markdown files you write by hand. Claude reads them at the start of every session. They contain instructions you want Claude to carry across conversations — build commands, coding standards, architectural decisions, “always do X” rules. This is the part people know.

    Auto memory is something Claude writes for itself. Introduced in Claude Code v2.1.59, it lets Claude save notes across sessions based on your corrections — build commands it discovered, debugging insights, preferences you kept restating. It lives at ~/.claude/projects/<project>/memory/ with a MEMORY.md entrypoint. You can audit it with /memory, edit it, or delete it. It’s on by default. (Anthropic docs.)

    .claude/rules/ is a directory of smaller, topic-scoped markdown files — code-style.md, testing.md, security.md — that can optionally be scoped to specific file paths via YAML frontmatter. A rule with paths: ["src/api/**/*.ts"] only loads when Claude is working with files matching that pattern. (Anthropic docs.)

    The reason this matters for how you write CLAUDE.md: once you understand what the other two are for, you stop stuffing CLAUDE.md with things that belong somewhere else. A 600-line CLAUDE.md isn’t a sign of thoroughness. It’s usually a sign the rules directory doesn’t exist yet and auto memory is disabled.

    Anthropic’s own guidance is explicit: target under 200 lines per CLAUDE.md file. Longer files consume more context and reduce adherence.

    Hold that number. We’ll come back to it.


    Where CLAUDE.md lives (and why scope matters)

    CLAUDE.md files can live in four different scopes, each with a different purpose. More specific scopes take precedence over broader ones. (Full precedence table in Anthropic docs.)

    Managed policy CLAUDE.md lives at the OS level — /Library/Application Support/ClaudeCode/CLAUDE.md on macOS, /etc/claude-code/CLAUDE.md on Linux and WSL, C:\Program Files\ClaudeCode\CLAUDE.md on Windows. Organizations deploy it via MDM, Group Policy, or Ansible. It applies to every user on every machine it’s pushed to, and individual settings cannot exclude it. Use it for company-wide coding standards, security posture, and compliance reminders.

    Project CLAUDE.md lives at ./CLAUDE.md or ./.claude/CLAUDE.md. It’s checked into source control and shared with the team. This is the one you’re writing when someone says “set up CLAUDE.md for this repo.”

    User CLAUDE.md lives at ~/.claude/CLAUDE.md. It’s your personal preferences across every project on your machine — favorite tooling shortcuts, how you like code styled, patterns you want applied everywhere.

    Local CLAUDE.md lives at ./CLAUDE.local.md in the project root. It’s personal-to-this-project and gitignored. Your sandbox URLs, preferred test data, notes Claude should know that your teammates shouldn’t see.

    Claude walks up the directory tree from wherever you launched it, concatenating every CLAUDE.md and CLAUDE.local.md it finds. Subdirectories load on demand — they don’t hit context at launch, but get pulled in when Claude reads files in those subdirectories. (Anthropic docs.)

    A practical consequence most teams miss: in a monorepo, your parent CLAUDE.md gets loaded when a teammate runs Claude Code from inside a nested package. If that parent file contains instructions that don’t apply to their work, Claude will still try to follow them. That’s what the claudeMdExcludes setting is for — it lets individuals skip CLAUDE.md files by glob pattern at the local settings layer.

    If you’re running Claude Code across more than one repo, decide now whether your standards belong in project CLAUDE.md (team-shared) or user CLAUDE.md (just you). Writing the same thing in both is how you get drift.


    The 200-line discipline

    This is the rule I see broken most often, and it’s the rule Anthropic is most explicit about. From the docs: “target under 200 lines per CLAUDE.md file. Longer files consume more context and reduce adherence.”

    Two things are happening in that sentence. One, CLAUDE.md eats tokens — every session, every time, whether Claude needed those tokens or not. Two, longer files don’t actually produce better compliance. The opposite. When instructions are dense and undifferentiated, Claude can’t tell which ones matter.

    The 200-line ceiling isn’t a hard cap. You can write a 400-line CLAUDE.md and Claude will load the whole thing. It just won’t follow it as well as a 180-line file would.

    Three moves to stay under:

    1. Use @imports to pull in specific files when they’re relevant. CLAUDE.md supports @path/to/file syntax (relative or absolute). Imported files expand inline at session launch, up to five hops deep. This is how you reference your README, your package.json, or a standalone workflow guide without pasting them into CLAUDE.md.

    See @README.md for architecture and @package.json for available scripts.
    
    # Git Workflow
    - @docs/git-workflow.md

    2. Move path-scoped rules into .claude/rules/. Anything that only matters when working with a specific part of the codebase — API patterns, testing conventions, frontend style — belongs in .claude/rules/api.md or .claude/rules/testing.md with a paths: frontmatter. They only load into context when Claude touches matching files.

    ---
    paths:
      - "src/api/**/*.ts"
    ---
    # API Development Rules
    
    - All API endpoints must include input validation
    - Use the standard error response format
    - Include OpenAPI documentation comments

    3. Move task-specific procedures into skills. If an instruction is really a multi-step workflow — “when you’re asked to ship a release, do these eight things” — it belongs in a skill, which only loads when invoked. CLAUDE.md is for the facts Claude should always hold in context; skills are for procedures Claude should run when the moment calls for them.

    If you follow these three moves, a CLAUDE.md rarely needs to exceed 150 lines. At that size, Claude actually reads it.


    What belongs in CLAUDE.md (the signal test)

    Anthropic’s own framing for when to add something is excellent, and it’s worth quoting directly because it captures the whole philosophy in four lines:

    Add to it when:

    • Claude makes the same mistake a second time
    • A code review catches something Claude should have known about this codebase
    • You type the same correction or clarification into chat that you typed last session
    • A new teammate would need the same context to be productive — Anthropic docs

    The operator version of the same principle: CLAUDE.md is the place you write down what you’d otherwise re-explain. It’s not the place you write down everything you know. If you find yourself writing “the frontend is built in React and uses Tailwind,” ask whether Claude would figure that out by reading package.json (it would). If you find yourself writing “when a user asks for a new endpoint, always add input validation and write a test,” that’s the kind of thing Claude won’t figure out on its own — it’s a team convention, not an inference from the code.

    The categories I’ve found actually earn their place in a project CLAUDE.md:

    Build and test commands. The exact string to run the dev server, the test suite, the linter, the type checker. Every one of these saves Claude a round of “let me look for a package.json script.”

    Architectural non-obvious. The thing a new teammate would need someone to explain. “This repo uses event sourcing — don’t write direct database mutations, emit events instead.” “We have two API surfaces, /public/* and /internal/*, and they have different auth requirements.”

    Naming conventions and file layout. “API handlers live in src/api/handlers/.” “Test files go next to the code they test, named *.test.ts.” Specific enough to verify.

    Coding standards that matter. Not “write good code” — “use 2-space indentation,” “prefer const over let,” “always export types separately from values.”

    Recurring corrections. The single most valuable category. Every time you find yourself re-correcting Claude about the same thing, that correction belongs in CLAUDE.md.

    What usually doesn’t belong:

    • Long lists of library choices (Claude can read package.json)
    • Full architecture diagrams (link to them instead)
    • Step-by-step procedures (skills)
    • Path-specific rules that only matter in one part of the repo (.claude/rules/ with a paths: field)
    • Anything that would be true of any project (that goes in user CLAUDE.md)

    Writing instructions Claude will actually follow

    Anthropic’s own guidance on effective instructions comes down to three principles, and every one of them is worth taking seriously:

    Specificity. “Use 2-space indentation” works better than “format code nicely.” “Run npm test before committing” works better than “test your changes.” “API handlers live in src/api/handlers/” works better than “keep files organized.” If the instruction can’t be verified, it can’t be followed reliably.

    Consistency. If two rules contradict each other, Claude may pick one arbitrarily. This is especially common in projects that have accumulated CLAUDE.md files across multiple contributors over time — one file says to prefer async/await, another says to use .then() for performance reasons, and nobody remembers which was right. Do a periodic sweep.

    Structure. Use markdown headers and bullets. Group related instructions. Dense paragraphs are harder to scan, and Claude scans the same way you do. A CLAUDE.md with clear section headers — ## Build Commands, ## Coding Style, ## Testing — outperforms the same content run together as prose.

    One pattern I’ve found useful that isn’t in the docs: write CLAUDE.md in the voice of a teammate briefing another teammate. Not “use 2-space indentation” but “we use 2-space indentation.” Not “always include input validation” but “every endpoint needs input validation — we had a security incident last year and this is how we prevent the next one.” The “why” is optional but it improves adherence because Claude treats the rule as something with a reason behind it, not an arbitrary preference.


    Community patterns worth knowing (flagged as community, not official)

    The following are patterns I’ve seen in operator circles and at industry events like AI Engineer Europe 2026, where practitioners share how they’re running Claude Code in production. None of these are in Anthropic’s documentation as official guidance. I’ve included them because they’re useful; I’m flagging them because they’re community-origin, not doctrine. Your mileage may vary, and Anthropic’s official behavior could change in ways that affect these patterns.

    The “project constitution” framing. Community shorthand for treating CLAUDE.md as the living document of architectural decisions — the thing new contributors read to understand how the project thinks. The framing is useful even though Anthropic doesn’t use the word. It captures the right posture: CLAUDE.md is the place for the decisions you want to outlast any individual conversation.

    Prompt-injecting your own codebase via custom linter errors. Reported at AI Engineer Europe 2026: some teams embed agent-facing prompts directly into their linter error messages, so when an automated tool catches a mistake, the error text itself tells the agent how to fix it. Example: instead of a test failing with “type mismatch,” the error reads “You shouldn’t have an unknown type here because we parse at the edge — use the parsed type from src/schemas/.” This is not documented Anthropic practice; it’s a community pattern that works because Claude Code reads tool output and tool output flows into context. Use with judgment.

    File-size lint rules as context-efficiency guards. Some teams enforce file-size limits (commonly cited: 350 lines max) via their linters, with the explicit goal of keeping files small enough that Claude can hold meaningful ones in context without waste. Again, community practice. The number isn’t magic; the discipline is.

    Token Leverage as a team metric. The idea that teams should track token spend ÷ human labor spend as a ratio and try to scale it. This is business-strategy content, not engineering guidance, and it’s emerging community discourse rather than settled practice. Take it as a thought experiment, not a KPI to implement by Monday.

    I’d rather flag these honestly than pretend they’re settled. If something here graduates from community practice to official recommendation, I’ll update.


    Enterprise: managed-policy CLAUDE.md (and when to use settings instead)

    For organizations deploying Claude Code across teams, there’s a managed-policy CLAUDE.md that applies to every user on a machine and cannot be excluded by individual settings. It lives at /Library/Application Support/ClaudeCode/CLAUDE.md (macOS), /etc/claude-code/CLAUDE.md (Linux and WSL), or C:\Program Files\ClaudeCode\CLAUDE.md (Windows), and is deployed via MDM, Group Policy, Ansible, or similar.

    The distinction that matters most for enterprise: managed CLAUDE.md is guidance, managed settings are enforcement. Anthropic is clear about this. From the docs:

    Settings rules are enforced by the client regardless of what Claude decides to do. CLAUDE.md instructions shape Claude’s behavior but are not a hard enforcement layer. — Anthropic docs

    If you need to guarantee that Claude Code can’t read .env files or write to /etc, that’s a managed settings concern (permissions.deny). If you want Claude to be reminded of your company’s code review standards, that’s managed CLAUDE.md. If you confuse the two and put your security policy in CLAUDE.md, you have a strongly-worded suggestion where you needed a hard wall.

    Building With Claude?

    I’ll send you the CLAUDE.md cheat sheet personally.

    If you’re in the middle of a real project and this playbook is helping — or raising more questions — just email me. I read every message.

    Email Will → will@tygartmedia.com

    The right mental model:

    Concern Configure in
    Block specific tools, commands, or file paths Managed settings (permissions.deny)
    Enforce sandbox isolation Managed settings (sandbox.enabled)
    Authentication method, organization lock Managed settings
    Environment variables, API provider routing Managed settings
    Code style and quality guidelines Managed CLAUDE.md
    Data handling and compliance reminders Managed CLAUDE.md
    Behavioral instructions for Claude Managed CLAUDE.md

    (Full table in Anthropic docs.)

    One practical note: managed CLAUDE.md ships to developer machines once, so it has to be right. Review it, version it, and treat changes to it the way you’d treat changes to a managed IDE configuration — because that’s what it is.


    The living document problem: auto memory, CLAUDE.md, and drift

    The thing that changed most in 2026 is that Claude now writes memory for itself when auto memory is enabled (on by default since Claude Code v2.1.59). It saves build commands it discovered, debugging insights, preferences you expressed repeatedly — and loads the first 200 lines (or 25KB) of its MEMORY.md at every session start. (Anthropic docs.)

    This changes how you think about CLAUDE.md in two ways.

    First, you don’t need to write CLAUDE.md entries for everything Claude could figure out on its own. If you tell Claude once that the build command is pnpm run build --filter=web, auto memory might save that, and you won’t need to codify it in CLAUDE.md. The role of CLAUDE.md becomes more specifically about what the team has decided, rather than what the tool needs to know to function.

    Second, there’s a new audit surface. Run /memory in a session and you can see every CLAUDE.md, CLAUDE.local.md, and rules file being loaded, plus a link to open the auto memory folder. The auto memory files are plain markdown. You can read, edit, or delete them.

    A practical auto-memory hygiene pattern I’ve landed on:

    • Once a month, open /memory and skim the auto memory folder. Anything stale or wrong gets deleted.
    • Quarterly, review the CLAUDE.md itself. Has anything changed in how the team works? Are there rules that used to matter but don’t anymore? Conflicting instructions accumulate faster than you think.
    • Whenever a rule keeps getting restated in conversation, move it from conversation to CLAUDE.md. That’s the signal Anthropic’s own docs describe, and it’s the right one.

    CLAUDE.md files are living documents or they’re lies. A CLAUDE.md from six months ago that references libraries you’ve since replaced will actively hurt you — Claude will try to follow instructions that no longer apply.


    A representative CLAUDE.md template

    What follows is a synthetic example, clearly not any specific project. It demonstrates the shape, scope, and discipline of a good project CLAUDE.md. Adapt it to your codebase. Keep it under 200 lines.

    # Project: [Name]
    
    ## Overview
    Brief one-paragraph description of what this project is and who uses it.
    Link to deeper architecture docs rather than duplicating them here.
    
    See @README.md for full architecture.
    
    ## Build and Test Commands
    - Install: `pnpm install`
    - Dev server: `pnpm run dev`
    - Build: `pnpm run build`
    - Test: `pnpm test`
    - Type check: `pnpm run typecheck`
    - Lint: `pnpm run lint`
    
    Run `pnpm run typecheck` and `pnpm test` before committing. Both must pass.
    
    ## Tech Stack
    (Only list the non-obvious choices. Claude can read package.json.)
    - We use tRPC, not REST, for internal APIs.
    - Styling is Tailwind with a custom token file at `src/styles/tokens.ts`.
    - Database migrations via Drizzle, not Prisma (migrated in Q1 2026).
    
    ## Directory Layout
    - `src/api/` — tRPC routers, grouped by domain
    - `src/components/` — React components, one directory per component
    - `src/lib/` — shared utilities, no React imports allowed here
    - `src/server/` — server-only code, never imported from client
    - `tests/` — integration tests (unit tests live next to source)
    
    ## Coding Conventions
    - TypeScript strict mode. No `any` without a comment explaining why.
    - Functional components only. No class components.
    - Imports ordered: external, internal absolute, relative.
    - 2-space indentation. Prettier config in `.prettierrc`.
    
    ## Conventions That Aren't Obvious
    - Every API endpoint validates input with Zod. No exceptions.
    - Database queries go through the repository layer in `src/server/repos/`. 
      Never import Drizzle directly from route handlers.
    - Errors surfaced to the UI use the `AppError` class from `src/lib/errors.ts`.
      This preserves error codes for the frontend to branch on.
    
    ## Common Corrections
    - Don't add new top-level dependencies without discussing first.
    - Don't create new files in `src/lib/` without checking if a similar 
      utility already exists.
    - Don't write tests that hit the real database. Use the test fixtures 
      in `tests/fixtures/`.
    
    ## Further Reading
    - API design rules: @.claude/rules/api.md
    - Testing conventions: @.claude/rules/testing.md
    - Security: @.claude/rules/security.md

    That’s roughly 70 lines. Notice what it doesn’t include: no multi-step procedures, no duplicated information from package.json, no universal-best-practice lectures. Every line is either a command you’d otherwise re-type, a convention a new teammate would need briefed, or a pointer to a more specific document.


    When CLAUDE.md still isn’t being followed

    This happens to everyone eventually. Three debugging steps, in order:

    1. Run /memory and confirm your file is actually loaded. If CLAUDE.md isn’t in the list, Claude isn’t reading it. Check the path — project CLAUDE.md can live at ./CLAUDE.md or ./.claude/CLAUDE.md, not both, not a subdirectory (unless Claude happens to be reading files in that subdirectory).

    2. Make the instruction more specific. “Write clean code” is not an instruction Claude can verify. “Use 2-space indentation” is. “Handle errors properly” is not an instruction. “All errors surfaced to the UI must use the AppError class from src/lib/errors.ts” is.

    3. Look for conflicting instructions. A project CLAUDE.md saying “prefer async/await” and a .claude/rules/performance.md saying “use raw promises for hot paths” will cause Claude to pick one arbitrarily. In monorepos this is especially common — an ancestor CLAUDE.md from a different team can contradict yours. Use claudeMdExcludes to skip irrelevant ancestors.

    If you need guarantees rather than guidance — “Claude cannot, under any circumstances, delete this directory” — that’s a settings-level permissions concern, not a CLAUDE.md concern. Write the rule in settings.json under permissions.deny and the client enforces it regardless of what Claude decides.


    FAQ

    What is CLAUDE.md? A markdown file Claude Code reads at the start of every session to get persistent instructions for a project. It lives in a project’s source tree (usually at ./CLAUDE.md or ./.claude/CLAUDE.md), gets loaded into the context window as a user message after the system prompt, and contains coding standards, build commands, architectural decisions, and other team-level context. Anthropic is explicit that it’s guidance, not enforcement. (Source.)

    How long should a CLAUDE.md be? Under 200 lines. Anthropic’s own guidance is that longer files consume more context and reduce adherence. If you’re over that, split with @imports or move topic-specific rules into .claude/rules/.

    Where should CLAUDE.md live? Project-level: ./CLAUDE.md or ./.claude/CLAUDE.md, checked into source control. Personal-global: ~/.claude/CLAUDE.md. Personal-project (gitignored): ./CLAUDE.local.md. Organization-wide (enterprise): /Library/Application Support/ClaudeCode/CLAUDE.md (macOS), /etc/claude-code/CLAUDE.md (Linux/WSL), or C:\Program Files\ClaudeCode\CLAUDE.md (Windows).

    What’s the difference between CLAUDE.md and auto memory? CLAUDE.md is instructions you write for Claude. Auto memory is notes Claude writes for itself across sessions, stored at ~/.claude/projects/<project>/memory/. Both load at session start. CLAUDE.md is for team standards; auto memory is for build commands and preferences Claude picks up from your corrections. Auto memory requires Claude Code v2.1.59 or later.

    Can Claude ignore my CLAUDE.md? Yes. CLAUDE.md is loaded as a user message and Claude “reads it and tries to follow it, but there’s no guarantee of strict compliance.” For hard enforcement (blocking file access, sandbox isolation, etc.) use settings, not CLAUDE.md.

    Does AGENTS.md work for Claude Code? Claude Code reads CLAUDE.md, not AGENTS.md. If your repo already uses AGENTS.md for other coding agents, create a CLAUDE.md that imports it with @AGENTS.md at the top, then append Claude-specific instructions below.

    What’s .claude/rules/ and when should I use it? A directory of smaller, topic-scoped markdown files that can optionally be scoped to specific file paths via YAML frontmatter. Use it when your CLAUDE.md is getting long or when instructions only matter in part of the codebase. Rules without a paths: field load at session start with the same priority as .claude/CLAUDE.md; rules with a paths: field only load when Claude works with matching files.

    How do I generate a starter CLAUDE.md? Run /init inside Claude Code. It analyzes your codebase and produces a starting file with build commands, test instructions, and conventions it discovers. Refine from there with instructions Claude wouldn’t discover on its own.


    A closing note

    The biggest mistake I see people make with CLAUDE.md isn’t writing it wrong — it’s writing it once and forgetting it exists. Six months later it references libraries they’ve since replaced, conventions that have since shifted, and a team structure that has since reorganized. Claude dutifully tries to follow instructions that no longer apply, and the team wonders why the tool seems to have gotten worse.

    CLAUDE.md is a living document or it’s a liability. Treat it the way you’d treat a critical piece of onboarding documentation, because functionally that’s exactly what it is — onboarding for the teammate who shows up every session and starts from zero.

    Write it for that teammate. Keep it short. Update it when reality shifts. And remember the part nobody likes to admit: it’s guidance, not enforcement. For anything that has to be guaranteed, reach for settings instead.


    Sources and further reading

    Community patterns referenced in this piece were reported at AI Engineer Europe 2026 and captured in a session recap. They represent emerging practice, not Anthropic doctrine.

  • Knowledge Cluster VM Setup — 5-Site WordPress Network on GCP Compute Engine

    Knowledge Cluster VM Setup — 5-Site WordPress Network on GCP Compute Engine

    The Lab · Tygart Media
    Experiment Nº 707 · Methodology Notes
    METHODS · OBSERVATIONS · RESULTS

    What Is a Knowledge Cluster VM?
    A Knowledge Cluster VM is a single GCP Compute Engine instance running five WordPress sites on a shared LAMP stack — each site with its own domain, SSL certificate, and WordPress installation, all managed from one server with Claude Code deployed for AI-assisted content operations. Five sites, one VM, unified content architecture, fraction of the cost of five separate hosting accounts.

    Running five WordPress sites on five separate managed hosting accounts costs $200–$500/month and gives you five completely isolated environments with no shared infrastructure, no shared AI tooling, and no economies of scale. A dedicated GCP VM changes the math: one e2-standard-2 instance runs all five sites for around $30–$50/month, with Claude Code deployed directly on the server for zero-latency AI content operations.

    We run our own 5-site knowledge cluster this way — restorationintel.com, riskcoveragehub.com, continuityhub.org, bcesg.org, and healthcarefacilityhub.org are all on one VM. The hub-and-spoke content architecture connects them intentionally: each site covers a different facet of a shared knowledge domain, and internal cross-linking amplifies authority across all five.

    Who This Is For

    Operators building a network of related WordPress sites — knowledge hubs, geo-local networks, topic clusters across related domains — who want shared infrastructure, lower hosting costs, and a unified AI content operation rather than five separate managed accounts.

    What We Build

    • GCP Compute Engine VM — e2-standard-2 (2 vCPU, 8GB RAM) or larger depending on traffic requirements, configured in us-west1 or your preferred region
    • Shared LAMP stack — Apache with virtual hosts, MySQL with separate databases per site, PHP 8.x configured for WordPress
    • Five WordPress installations — Each in its own directory, individual wp-config, separate database credentials
    • SSL certificates — Certbot/Let’s Encrypt for all five domains with auto-renewal configured
    • Claude Code deployment — Anthropic API key stored in GCP Secret Manager, Claude Code installed and configured for WP-CLI integration
    • Hub-and-spoke content map — Architecture document defining which site is the hub, which are spokes, and the interlinking strategy
    • WP-CLI batch scripts — Common operations (plugin updates, bulk post operations, taxonomy management) scripted for all five sites

    What We Deliver

    Item Included
    GCP VM provisioning and configuration
    5 WordPress installations with SSL
    Shared LAMP stack with Apache virtual hosts
    Claude Code deployment + GCP Secret Manager integration
    Hub-and-spoke content architecture document
    WP-CLI batch operation scripts
    Monitoring + auto-restart configuration
    Technical handoff documentation

    Ready to Consolidate 5 Sites onto One Smart Server?

    Share the 5 domains you want to host and your current monthly hosting cost. We’ll scope the VM build and show you the cost reduction.

    will@tygartmedia.com

    Email only. No commitment to reply.

    Frequently Asked Questions

    What happens if the VM goes down?

    GCP Compute Engine has 99.9% uptime SLA. We configure automatic restart policies and GCP’s built-in monitoring with alerting. For production sites with stricter uptime requirements, we can add a load balancer with health checks.

    How is this different from WordPress Multisite?

    WordPress Multisite shares a single WordPress installation across all sites — changes to plugins or core affect all sites simultaneously and customization is limited. The cluster uses five independent WordPress installations that share only the server hardware. Each site is fully independent.

    Can more than 5 sites run on one VM?

    Yes — an e2-standard-2 instance comfortably handles 8–10 low-to-medium traffic WordPress sites. We scale the VM size based on your traffic requirements. The architecture pattern works for 3–15 sites.


    Last updated: April 2026

  • Claude Code vs Cursor: Which AI Coding Tool Is Better in 2026?

    Claude Code vs Cursor: Which AI Coding Tool Is Better in 2026?

    Last refreshed: May 15, 2026

    Claude AI · Fitted Claude

    Claude Code and Cursor are both AI coding tools with serious developer followings — but they’re built on fundamentally different models. Cursor is an AI-powered IDE fork. Claude Code is a terminal-native agent. The right choice depends on how you work.

    Short answer: Cursor wins for in-editor experience — autocomplete, inline suggestions, and staying inside VS Code’s familiar interface. Claude Code wins for autonomous multi-step tasks — it operates at the system level, can run commands, manage files across the whole project, and doesn’t require you to be watching. Most serious developers end up using both.

    Claude Code vs Cursor: Head-to-Head

    Capability Claude Code Cursor Edge
    In-editor autocomplete Limited ✅ Native Cursor
    Autonomous multi-file tasks ✅ Strong ✅ Good Claude Code
    Terminal / shell command execution ✅ Yes Limited Claude Code
    Remote / cloud sessions ✅ Yes Claude Code
    VS Code compatibility Via MCP ✅ Built on VS Code Cursor
    Model choice Claude only Multi-model Cursor (flexibility)
    Instruction-following precision ✅ Strong Good Claude Code
    Price Included in Pro ($20/mo)+ ~$20/mo (Pro) Tie
    Setup complexity Moderate Easy Cursor
    Not sure which to use?

    We’ll help you pick the right stack — and set it up.

    Tygart Media evaluates your workflow and configures the right AI tools for your team. No guesswork, no wasted subscriptions.

    What Cursor Does Better

    In-editor experience. Cursor is a fork of VS Code with AI baked in — autocomplete, inline suggestions, cmd+K to edit code in place, and the full VS Code extension ecosystem. If you live in an editor and want AI suggestions as you type, Cursor is the more polished experience.

    Familiar interface. If your team already uses VS Code, Cursor requires almost no adjustment. Claude Code requires getting comfortable with an agentic workflow that’s fundamentally different from autocomplete.

    Multi-model flexibility. Cursor lets you choose between Claude, GPT-4o, and other models depending on the task. Claude Code is Claude-only.

    What Claude Code Does Better

    System-level autonomy. Claude Code runs commands, manages files across the entire project, executes tests, and operates at the OS level — not just inside an editor window. It can do things Cursor can’t, like run a test suite, see the results, fix the failures, and re-run without you touching anything.

    Remote and background sessions. Claude Code supports remote sessions that continue on Anthropic’s infrastructure even after you close the app. Cursor requires you to be present.

    Complex multi-step tasks. Agentic tasks that span many files, require running code, and iterate based on output are where Claude Code’s architecture shines. Cursor handles this through its Composer feature, but Claude Code’s terminal-native approach gives it more flexibility.

    Instruction precision. On multi-constraint tasks — “refactor this to match our conventions, add error handling, keep it backward compatible, and don’t use async” — Claude Code holds all the constraints more reliably through a long operation.

    Price Comparison

    Claude Code is included (at limited levels) with a Claude Pro subscription at $20/month. Claude Code Pro at $100/month gives full access for developers using it as a primary tool. Cursor Pro is approximately $20/month. Both are in the same price tier for comparable usage levels.

    The Practical Setup

    Most developers using both tools run Cursor for in-editor work — autocomplete, inline edits, quick questions about code — and Claude Code for larger autonomous tasks: refactors, test generation across a codebase, debugging sessions that require running code. They’re complementary, not mutually exclusive.

    For a broader comparison, see Claude vs GitHub Copilot and Claude Code vs Windsurf. For Claude Code pricing specifically, see Claude Code Pricing: Pro vs Max.

    Frequently Asked Questions

    Is Claude Code better than Cursor?

    They’re different tools. Claude Code is better for autonomous multi-step tasks, system-level operations, and complex refactors that require running code and iterating. Cursor is better for in-editor autocomplete and inline suggestions within the VS Code interface. Most serious developers use both.

    Can I use Claude Code inside VS Code or Cursor?

    Claude Code primarily runs as a terminal agent or through Claude Desktop’s Code tab. You can connect it to VS Code via MCP integration. Cursor has its own Claude integration built in — you can use Claude models inside Cursor without Claude Code.

    How much does Cursor cost vs Claude Code?

    Cursor Pro is approximately $20/month. Claude Code is included at limited levels with Claude Pro ($20/month) or at full access with Claude Code Pro ($100/month). For occasional use, Claude Pro gives you both a full Claude subscription and limited Claude Code access for the same $20.

    Need this set up for your team?
    Talk to Will →

  • How to Use Claude Code: Getting Started, Workflows, and Best Practices

    How to Use Claude Code: Getting Started, Workflows, and Best Practices

    Last refreshed: May 15, 2026

    Model Accuracy Note — Updated May 2026

    Current flagship: Claude Opus 4.7 (claude-opus-4-7). Current models: Opus 4.7 · Sonnet 4.6 · Haiku 4.5. Claude Opus 4.7 (claude-opus-4-7) is the current flagship as of April 16, 2026. Where this article references Opus 4.6 or earlier models, those references are historical. See current model tracker →. See current model tracker →

    Claude AI · Fitted Claude

    Claude Code is an agentic coding tool that works directly inside your codebase — reading files, writing code, running tests, and making changes with your approval. It’s fundamentally different from asking Claude questions about code in chat. Here’s how to use it effectively from your first session.

    Access: Claude Code is in the Code tab of Claude Desktop, or via the CLI (claude command). Both require a Pro, Max, Team, or Enterprise subscription. For installation, see How to Install Claude Code.

    Starting a Session

    Open the Code tab in Claude Desktop (or run claude in your terminal), then select your session type:

    • Local — Claude works on your machine with direct file access. Changes happen locally. Best for everyday development.
    • Remote — Claude runs on Anthropic’s infrastructure. The session continues even if you close the app. Best for long autonomous tasks.
    • SSH — Claude connects to a remote server over SSH. Best for server-side or cloud VM development.

    Select your project folder and choose a model — Sonnet 4.6 for most work, Opus 4.6 for the most complex tasks. You can’t change the model after the session starts.

    Free — no pitch

    Get the Claude workflow that actually sticks.

    Practical Claude setup tips from someone running it across 27 client sites daily — not marketing, not theory. Email Will directly and he’ll share what’s working.

    Get the tips →

    What to Ask Claude Code to Do

    Claude Code works best with clear, specific tasks. Unlike chat, it has your full codebase as context — so you can refer to actual files, functions, and patterns without explaining them.

    Strong prompts:

    • “Fix the bug in auth.py where users aren’t logged out after session expiry”
    • “Add input validation to all API endpoints in routes/ — check for SQL injection”
    • “Refactor UserService to use dependency injection”
    • “Write tests for all public methods in utils/parser.js
    • “Explain the data flow from the API call in main.py to the database”

    How Claude Code Makes Changes

    Claude Code doesn’t modify your files silently. When it wants to make a change, it shows you a diff — the exact lines it plans to add, remove, or edit — and waits for your approval before writing anything. You can accept the change, reject it, or ask Claude to revise its approach.

    This review-before-write pattern means Claude Code is safe to use even on code you’re not fully familiar with. You see every change before it happens.

    CLAUDE.md: Persistent Project Instructions

    Create a CLAUDE.md file in your project root to give Claude Code persistent context about your codebase — coding conventions, architecture decisions, testing patterns, libraries to prefer or avoid. Claude Code reads this file at the start of every session, so you don’t re-explain your project each time.

    # CLAUDE.md example
    
    ## Stack
    - Python 3.11, FastAPI, PostgreSQL, SQLAlchemy
    - Tests use pytest with fixtures in conftest.py
    
    ## Conventions
    - Functions should have type hints
    - No bare except clauses — always catch specific exceptions
    - Use Pydantic models for all request/response schemas
    
    ## Do not modify
    - legacy/ directory — kept for backward compatibility

    Common Workflows

    Debugging: Paste the error message and stack trace, ask Claude to find and fix the root cause. It reads the relevant files and proposes a fix.

    Refactoring: Describe the refactor goal — “extract this into a separate service,” “replace all these conditionals with a strategy pattern” — and Claude Code walks through the changes systematically.

    Test writing: “Write unit tests for all functions in this file” or “add edge case tests for the payment processing flow.” Claude reads your existing test patterns and matches them.

    Code review: “Review this PR for security issues, missing error handling, and anything that violates our conventions.” Claude reads the changed files and gives structured feedback.

    Documentation: “Add docstrings to all public functions” or “generate a README that explains this project’s architecture.”

    Tips for Getting the Most Out of It

    • Start small. First session, give it a small, contained task in a file you know well. Calibrate your trust before handing it larger work.
    • Be specific about constraints. “Don’t use async/await,” “keep changes backward compatible,” “match the style of the existing tests.” Claude Code holds these throughout the session.
    • Use CLAUDE.md. Any convention you find yourself re-explaining belongs in this file.
    • Review every diff. Claude Code is capable but not infallible. Read each proposed change before approving — especially on production code.
    • Use Remote for long tasks. Autonomous multi-file refactors or test generation across a large codebase work better in a Remote session that won’t be interrupted.

    For pricing details, see Claude Code Pricing: Pro vs Max. For how it compares to other tools, see Claude vs GitHub Copilot and Claude Code vs Windsurf.

    Tygart Media

    Getting Claude set up is one thing.
    Getting it working for your team is another.

    We configure Claude Code, system prompts, integrations, and team workflows end-to-end. You get a working setup — not more documentation to read.

    See what we set up →

    Frequently Asked Questions

    How does Claude Code work?

    Claude Code reads your project files, executes tasks like debugging, refactoring, and test writing, and shows you a diff of every proposed change before modifying anything. You approve or reject each change. It operates in your actual development environment, not in a chat window.

    Can Claude Code modify my files without permission?

    No. Claude Code shows you a diff of every proposed change and waits for your approval before writing to any file. You remain in full control of what gets modified.

    What languages does Claude Code support?

    Claude Code works with any programming language. It’s particularly strong on Python, JavaScript, TypeScript, and Go, but handles most modern languages and frameworks well. It reads and writes whatever files are in your project directory.

    Need this set up for your team?
    Talk to Will →

  • How to Install Claude Code in 2026: Complete Install Guide for Desktop & CLI

    How to Install Claude Code in 2026: Complete Install Guide for Desktop & CLI

    Last refreshed: May 15, 2026

    Looking for quick answers? The FAQ version covers every common question directly.

    → Claude Code FAQ

    Quick Answer

    The fastest way to install Claude Code is one npm command: npm install -g @anthropic-ai/claude-code. Full Claude Code installation takes under 2 minutes on macOS, Linux, or Windows (via WSL).

    Full installation walkthrough below — CLI and Desktop app.

    Claude AI · Fitted Claude

    Claude Code is available two ways: as the Code tab inside Claude Desktop (with a graphical interface), or as a CLI tool you install and run from your terminal. Here’s how to get either one set up from scratch.

    Requirement: Claude Code requires a Pro, Max, Team, or Enterprise subscription. It is not available on the free plan. The Claude Desktop app (which includes a graphical Claude Code interface) is free to download but the Code tab requires a paid subscription.

    Option 1: Claude Desktop (Recommended for Most Users)

    The easiest way to get Claude Code is through Claude Desktop — no terminal required.

      Installing Claude?

      If you run into setup issues or want to know how to get the most out of it from day one, just email me.

      Email Will → will@tygartmedia.com

    1. Download Claude Desktop from claude.ai/download — available for macOS and Windows (x64 or ARM64). Linux is not supported.
    2. Install — on Mac, open the PKG and drag to Applications; on Windows, run the installer.
    3. Sign in with your Anthropic account (Pro, Max, Team, or Enterprise).
    4. Click the Code tab in the top navigation.
    5. Select Local to work with files on your machine, or Remote to run on Anthropic’s cloud infrastructure.
    6. Click “Select folder” and choose your project directory. You’re ready.

    On Windows, Git must be installed for local sessions to work. Most Macs include Git by default — check by running git --version in Terminal.

    Free — no pitch

    Get the Claude workflow that actually sticks.

    Practical Claude setup tips from someone running it across 27 client sites daily — not marketing, not theory. Email Will directly and he’ll share what’s working.

    Get the tips →

    Option 2: Claude Code CLI

    For developers who prefer working in the terminal, Claude Code is also available as a command-line tool.

    # Install via npm
    npm install -g @anthropic-ai/claude-code
    
    # Authenticate
    claude login
    
    # Start in your project directory
    cd your-project
    claude

    The CLI requires Node.js. After running claude login, you’ll authenticate with your Anthropic account in a browser window. The session starts automatically in the current directory.

    Local vs. Remote Sessions

    Session type What it does Best for
    Local Runs on your machine, accesses your files directly Everyday development work
    Remote Runs on Anthropic’s cloud, continues if you close the app Long-running tasks, autonomous work
    SSH Connects to a remote machine over SSH Server or cloud VM development

    Claude Code Install Errors and How to Fix Them

    Code tab not appearing in Desktop: Confirm your account is on a paid plan. Claude Code requires Pro, Max, Team, or Enterprise — it’s not available on the free tier.

    Windows Git error: Claude Code needs Git for local sessions on Windows. Download Git from git-scm.com, install with default settings, then restart the desktop app.

    CLI authentication failing: Run claude logout then claude login again. Make sure your Anthropic account has an active paid subscription.

    Permission errors on first run: Claude Code will ask permission to access your files when you first select a folder. Click Allow — it needs read/write access to work with your project.

    After Claude Code Installation: Your First Session

    When you start your first Claude Code session, Anthropic recommends starting with a small, familiar project. Ask Claude to explain the codebase, fix a specific bug, or add a small feature. This gives you a calibrated sense of how it works before tackling larger tasks. Claude will read relevant files, propose changes, and ask for your approval before modifying anything.

    For an overview of what Claude Code can do once you’re set up, see How to Use Claude Code. For pricing details, see Claude Code Pricing: Pro vs Max.

    Tygart Media

    Getting Claude set up is one thing.
    Getting it working for your team is another.

    We configure Claude Code, system prompts, integrations, and team workflows end-to-end. You get a working setup — not more documentation to read.

    See what we set up →

    Frequently Asked Questions

    How do I install Claude Code?

    Download Claude Desktop from claude.ai/download and use the Code tab — no terminal required. Or install the CLI with npm install -g @anthropic-ai/claude-code and run claude login to authenticate.

    Is Claude Code free to install?

    Claude Desktop (which includes Claude Code) is free to download. Using Claude Code requires a paid subscription — Pro ($20/month), Max ($100/month), Team, or Enterprise. It is not available on the free plan.

    Does Claude Code work on Linux?

    The Claude Desktop app does not support Linux. The Claude Code CLI does run on Linux — install via npm and use it from your terminal.

    What’s the difference between Claude Code Desktop and the CLI?

    Claude Code Desktop (the Code tab in the Claude Desktop app) gives you a graphical interface with visual file diffs, a built-in preview panel, and no terminal required. The CLI runs in your terminal and supports the same core operations. Both share configuration files and can run simultaneously on the same project.

    Need this set up for your team?
    Talk to Will →

    📎 Book for Bots — Free

    Take this article on steroids.

    The Claude Implementation Playbook is a dense 9-section PDF you can attach directly to any AI conversation — pricing tables, model API strings, routing logic, context engineering rules. Verified May 2026.

    Get Free PDF →

    2026 Performance Boost: Higher Limits, No Peak-Hour Throttling

    Added May 9, 2026

    If you installed Claude Code before May 2026 and have noticed it running faster during previously-slow periods, this is why.

    What Changed: SpaceX Colossus 1 Capacity Expansion

    On May 6, 2026, Anthropic announced expanded compute capacity via a partnership with SpaceX’s Colossus 1 data center. The practical effect for Claude Code users:

    • Pro and Max subscribers: Peak-hours throttling eliminated entirely. Claude Code no longer slows down during high-demand periods. 5-hour rate limits doubled.
    • Team Premium seats: 5-hour rate limits doubled. Claude Code access included (Team Premium seats only — Standard seats do not include Claude Code).
    • Free plan: No change. Explicitly excluded from all capacity increases.

    This is the single most meaningful performance change to Claude Code since its GA release. If you’ve been hitting rate limits mid-session during long agentic coding runs, the ceiling is now twice as high. Source: anthropic.com/news/higher-limits-spacex

    Claude Code Pro Pricing (Current)

    Claude Code access is included in the following Claude subscription tiers — there’s no separate Claude Code subscription fee:

    • Pro ($20/month): Claude Code included. 5-hour rate limits now doubled. Peak-hours throttling eliminated.
    • Max ($100/month — 5× usage): Claude Code included. Same doubled limits, no peak throttling.
    • Max ($200/month — 20× usage): Claude Code included. Highest usage ceiling available to individuals.
    • Team Premium ($100/seat/month annually): Claude Code included. 5-hour limits doubled.
    • Team Standard ($25/seat/month annually): Claude Code NOT included.
    • Free plan: Claude Code NOT included.

    Claude Code and Student / Amazon Prime Discounts

    There is no Claude Code-specific discount program and no Amazon Prime Student bundle that includes Claude Code as of May 2026. Claude Pro ($20/month) is the lowest-cost tier that includes Claude Code. For students: Anthropic does not offer a verified student discount on subscriptions. The most cost-effective path to Claude Code for students is the standard Pro plan. See our Claude student discount guide for the full breakdown of what options exist.

    Claude Code Version: Stay Current

    Claude Code releases frequently. As of May 9, 2026, the latest version is v2.1.133 (released May 7). Key fix in this version: subagents now correctly discover project, user, and plugin skills via the Skill tool — a silent failure in prior versions that broke multi-agent pipelines without obvious error. Update with:

    npm update -g @anthropic-ai/claude-code
  • Claude Desktop: Download, Features, and What It Does That the Web Can’t

    Claude Desktop: Download, Features, and What It Does That the Web Can’t

    Last refreshed: May 15, 2026

    Claude AI · Fitted Claude

    Installing Claude?

    If you run into setup issues or want to know how to get the most out of it from day one, just email me.

    Email Will → will@tygartmedia.com

    Claude Desktop is Anthropic’s native app for Mac and Windows — a dedicated application that brings Claude out of the browser and into your system, with features that aren’t available in the web interface. It’s free to download for all plan types, including the free tier.

    Download: claude.ai/download — available for macOS and Windows. Linux is not currently supported. The app is free to download; some features require a paid plan.

    What Claude Desktop Includes

    Feature What it does Plan required
    Chat tab Full Claude conversation, same as claude.ai Free+
    Quick access hotkey Bring Claude up from any app without switching windows Free+
    Screenshot capture Snap your screen and have Claude analyze what it sees Free+
    Desktop extensions Connect Claude to local files, calendars, email, and native apps Free+
    Claude in Chrome Claude navigates, clicks, and fills forms in your browser Free+
    Cowork tab Autonomous background agent that runs tasks in a cloud VM Pro, Max, Team, Enterprise
    Code tab (Claude Code) Interactive coding with direct access to your local files Pro, Max, Team, Enterprise
    Free — no pitch

    Get the Claude workflow that actually sticks.

    Practical Claude setup tips from someone running it across 27 client sites daily — not marketing, not theory. Email Will directly and he’ll share what’s working.

    Get the tips →

    The Three Tabs: Chat, Cowork, and Code

    Claude Desktop is organized around three modes. Chat is general conversation — identical to claude.ai but accessible from your dock without opening a browser. Cowork is an autonomous background agent that works on tasks in a cloud VM while you do other things — research synthesis, file organization, document generation, spreadsheets. Code is Claude Code with a graphical interface — an interactive coding assistant with direct access to your local project files, where you review and approve each change in real time.

    What Makes Desktop Different From the Web

    The practical differences over using claude.ai in a browser:

    • Always accessible — lives in your dock, reachable from any app via hotkey without switching contexts
    • Screenshot capture — take a screenshot and immediately ask Claude about what’s on screen
    • Desktop extensions — connect to local files, your filesystem, calendars, email, and native Mac/Windows apps that web connectors can’t reach
    • Claude in Chrome — let Claude control your browser directly from the desktop app
    • Cowork background tasks — long-running autonomous tasks that continue while you work on something else
    • Claude Code integration — work directly with your local codebase without copying files

    How to Download and Install

    1. Go to claude.ai/download
    2. Download the appropriate installer — macOS PKG, Windows x64, or Windows ARM64
    3. Run the installer — on Mac, drag to Applications; on Windows, run the setup file
    4. Launch from your Applications folder (Mac) or Start menu (Windows)
    5. Sign in with your Anthropic account

    Linux is not currently supported. The app requires macOS or Windows.

    Desktop Extensions

    Desktop extensions are installable packages that connect Claude to your local tools — similar to browser extensions but for native applications. They give Claude access to your local file system, calendars, email, messaging apps, and other native applications that web-based connectors can’t reach. Browse and install extensions in Settings → Extensions after installing the app.

    Syncing Across Devices

    Your conversations, projects, memory, and preferences sync across Claude Desktop, the web interface, and the mobile app when you’re signed in with the same account. Start a session in the desktop app, continue on your phone, pick it back up on the web — the context travels with you.

    For the Claude Code-specific features in the desktop app, see How to Use Claude Code. For a comparison of Desktop vs. the web interface for everyday use, see Claude AI Login: All Platforms and Apps.

    Tygart Media

    Getting Claude set up is one thing.
    Getting it working for your team is another.

    We configure Claude Code, system prompts, integrations, and team workflows end-to-end. You get a working setup — not more documentation to read.

    See what we set up →

    Frequently Asked Questions

    Is Claude Desktop free?

    Yes. Claude Desktop is free to download and use with a free Claude account. Some features — Cowork, Claude Code, and some extensions — require a paid plan (Pro, Max, Team, or Enterprise). The core chat functionality is available on the free tier.

    What’s the difference between Claude Desktop and claude.ai?

    Claude Desktop is a native app that lives in your dock and adds features not available in the browser — quick access hotkey, screenshot capture, desktop extensions, Cowork for background tasks, and Claude Code for local development. The core conversation experience is the same; the desktop app adds system-level integration.

    Is Claude Desktop available on Linux?

    No. Claude Desktop currently supports macOS and Windows only. Linux users can access Claude through the web interface at claude.ai or via the API.

    Does Claude Desktop work with Claude Code?

    Yes. Claude Desktop includes a Code tab that gives you Claude Code with a graphical interface — direct access to your local files, code review, and interactive development without needing the terminal. The desktop app and the Claude Code CLI share configuration and can run simultaneously on the same project.

    Need this set up for your team?
    Talk to Will →

  • Claude vs GitHub Copilot: Different Tools for Different Jobs

    Claude vs GitHub Copilot: Different Tools for Different Jobs

    Last refreshed: May 15, 2026

    Claude AI · Fitted Claude

    Claude and GitHub Copilot both help developers write code — but they’re solving different problems. Copilot lives inside your editor as an autocomplete and inline suggestion tool. Claude is a conversational AI you bring complex problems to. Understanding what each does determines which belongs in your workflow, and whether you need both.

    Short answer: They’re not direct substitutes. Copilot is better for in-editor autocomplete and inline code completion as you type. Claude is better for complex problem-solving, code review, architecture discussion, debugging, and agentic development via Claude Code. Most serious developers benefit from both.

    Claude vs GitHub Copilot: Head-to-Head

    Capability Claude GitHub Copilot Edge
    In-editor autocomplete Copilot — purpose-built for this
    Complex problem-solving Limited Claude — conversational depth
    Code review Basic Claude — more thorough
    Architecture discussion Claude — requires reasoning
    Debugging complex errors Basic Claude — root cause analysis
    Agentic coding (autonomous) ✅ Claude Code ✅ Copilot Workspace Claude Code — terminal-native
    GitHub integration Via MCP ✅ Native Copilot — built into the platform
    Multi-language support Tie
    Price $20/mo (Pro) $10–19/mo Copilot — cheaper at base
    Not sure which to use?

    We’ll help you pick the right stack — and set it up.

    Tygart Media evaluates your workflow and configures the right AI tools for your team. No guesswork, no wasted subscriptions.

    What GitHub Copilot Does Better

    In-editor autocomplete. Copilot is purpose-built for this — it sits inside VS Code, JetBrains, Neovim, or your editor of choice and suggests completions as you type. It reads your current file and neighboring context to generate inline suggestions. Claude doesn’t do this. There’s no Claude autocomplete inside your editor in the same way.

    GitHub native integration. Copilot is an extension of the GitHub ecosystem — it understands your repository context, integrates with pull requests (Copilot PR summaries), and connects directly to GitHub Actions. If you’re deeply embedded in the GitHub workflow, Copilot’s native integration has genuine advantages.

    What Claude Does Better

    Complex reasoning about code. When you have a hard problem — a non-obvious bug, an architectural decision, a security vulnerability to trace — Claude’s conversational depth is more valuable than autocomplete. You can describe the problem, paste relevant code, explain your constraints, and get substantive analysis rather than a completion suggestion.

    Code review quality. Claude’s code review is more thorough than Copilot’s, particularly for security issues, error handling gaps, and logic errors. It explains why something is a problem, not just that it is — and it holds all your review criteria through long responses.

    Claude Code for agentic work. Claude Code is a terminal-native agent that operates in your actual development environment — reading files, running tests, making commits, refactoring across multiple files. It’s a more autonomous capability than either chat-based Claude or Copilot’s editor integration. For multi-file, multi-step development tasks, Claude Code is the stronger tool.

    Using Both: The Practical Setup

    The most effective developer setup uses both: GitHub Copilot for in-editor autocomplete and inline suggestions as you write, Claude (via web, desktop, or API) for complex problem-solving, code review, debugging, and architecture. Claude Code for autonomous development sessions on larger tasks.

    At $10–19/month for Copilot and $20/month for Claude Pro, running both costs $30–40/month — meaningful but justified for developers whose output directly depends on these tools.

    For a broader Claude coding comparison, see Claude vs ChatGPT for Coding, Claude Code vs Windsurf, and Claude Code vs Aider.

    Frequently Asked Questions

    Is Claude better than GitHub Copilot?

    They do different things well. Copilot is better for in-editor autocomplete. Claude is better for complex problem-solving, code review, and debugging. Claude Code is better for autonomous development sessions. Most developers benefit from both rather than choosing one.

    Can Claude replace GitHub Copilot?

    Not for in-editor autocomplete — that’s Copilot’s core strength and Claude doesn’t have a direct equivalent in your editor as you type. Claude Code handles autonomous development tasks at a higher level, but for the instant inline suggestion experience, Copilot remains the dedicated tool.

    Should I use Claude Code or GitHub Copilot?

    For autonomous multi-file development tasks, Claude Code is the stronger tool — it operates in your actual environment, reads your full codebase, runs tests, and works without constant guidance. For in-editor suggestions as you write, Copilot’s integration is purpose-built for that workflow. The two address different parts of the development process.

    Need this set up for your team?
    Talk to Will →

  • Is Claude Good at Coding? An Honest Assessment From Daily Use

    Is Claude Good at Coding? An Honest Assessment From Daily Use

    Last refreshed: May 15, 2026

    Model Accuracy Note — Updated May 2026

    Current flagship: Claude Opus 4.7 (claude-opus-4-7). Current models: Opus 4.7 · Sonnet 4.6 · Haiku 4.5. Claude Opus 4.7 (claude-opus-4-7) is the current flagship as of April 16, 2026. Where this article references Opus 4.6 or earlier models, those references are historical. See current model tracker →. See current model tracker →

    Claude AI · Fitted Claude

    Claude is genuinely good at coding — and for specific types of development work, it’s the strongest AI coding assistant available. But the honest answer requires separating what it does well from where it has real limits. Here’s the actual assessment from someone running Claude across real production systems daily.

    Short answer: Yes — Claude is strong at coding, particularly for instruction-following on complex requirements, debugging non-obvious errors, and agentic development via Claude Code. It’s competitive with or better than GPT-4o on most coding benchmarks. The gap over alternatives is clearest on tasks requiring sustained context and precise constraint adherence.

    Where Claude Excels at Coding

    Complex, multi-constraint code generation

    Give Claude a detailed spec — specific patterns, error handling requirements, naming conventions, library preferences — and it holds all of them through a long response better than alternatives. Other models tend to drift from earlier constraints partway through. For production code where the specifics matter, Claude’s instruction adherence is a real advantage.

    Debugging non-obvious errors

    On tricky bugs where the error message points somewhere unhelpful, Claude is more likely to trace the actual root cause rather than addressing the symptom. It’s willing to say “this is probably caused by X upstream” and follow the logic chain. That kind of reasoning saves hours on complex debugging sessions.

    Working across large codebases

    Claude’s 200K token context window means it can hold significant portions of a codebase in context simultaneously. Understanding how a change in one file affects another, tracking architectural patterns across multiple files, maintaining awareness of project-wide conventions — Claude handles this better than models with shorter context windows.

    Code review and security analysis

    Claude is strong at finding security vulnerabilities, missing error handling, and logic errors. Give it the code and ask it to review specifically for security issues — SQL injection, authentication gaps, hardcoded credentials — and the findings are reliable and specific. See the full code review guide for prompts and examples.

    Claude Code: Agentic development

    Claude Code — Anthropic’s terminal-native coding agent — operates autonomously inside your actual codebase. Reading files, writing code, running tests, managing git. For autonomous development work, this is a qualitatively different capability from chat-based code assistance. See Claude Code pricing for tier details.

    Claude’s Coding Benchmarks

    On SWE-bench — the industry benchmark for real-world software engineering tasks — Claude has performed strongly relative to competing models. Claude 3.5 Sonnet’s performance on this benchmark in 2024 attracted significant developer attention. The current Claude Sonnet 4.6 continues that trajectory.

    Benchmarks don’t capture everything — real-world tasks have context, requirements, and edge cases that synthetic benchmarks miss. But they’re a useful signal, and Claude’s performance on coding-specific benchmarks is consistently competitive.

    Where Claude Has Coding Limits

    Interactive code execution: Claude doesn’t run code interactively in the web interface by default. ChatGPT’s code interpreter lets you upload a CSV and get Python-generated charts in the same window. Claude can reason about data and write code that would do the same, but won’t execute it in-chat. Claude Code handles actual execution in a development environment.

    Very specialized frameworks: For niche or rapidly evolving frameworks where training data is sparse, Claude may have less confident knowledge than it does for established technologies. Always verify generated code for less common libraries.

    Business logic without context: Claude can generate technically correct code but can’t know your business domain’s rules without you providing them. The more context you give about what the code needs to do and why, the better the output.

    How to Get the Best Coding Results From Claude

    Be specific about requirements: Language, framework version, error handling approach, logging requirements, style preferences. Claude holds more constraints than most models — use that.

    Give it the context: What does this function do? What calls it? What does it return? More domain context = better output.

    Ask for complete, working code: Explicitly request production-ready code with error handling, not pseudocode or skeletons.

    Use Claude Code for agentic work: For anything more than a single function or file, Claude Code operating inside your actual environment beats chat-based coding significantly.

    Frequently Asked Questions

    Is Claude good at coding?

    Yes. Claude is one of the strongest AI coding assistants available, particularly for complex instruction-following, debugging non-obvious errors, and working across large codebases. Claude Code adds agentic development capability for autonomous work inside real codebases.

    Is Claude better than ChatGPT for coding?

    For most coding tasks — complex specs, debugging, large codebase work, and agentic development — Claude is stronger. ChatGPT wins for interactive data analysis via its code interpreter. For a full comparison, see Claude vs ChatGPT for Coding.

    Can Claude write production-ready code?

    Yes, with the right prompting. Specify that you want production-ready code with error handling, logging, and your style requirements. Claude follows detailed coding specifications more reliably than most alternatives. Always review and test generated code before deploying.

    Want this for your workflow?

    We set Claude up for teams in your industry — end-to-end, fully configured, documented, and ready to use.

    Tygart Media has run Claude across 27+ client sites. We know what works and what wastes your time.

    See the implementation service →

    Need this set up for your team?
    Talk to Will →

  • Claude for Code Review: What It Catches, How to Use It, and Its Limits

    Claude for Code Review: What It Catches, How to Use It, and Its Limits

    Last refreshed: May 15, 2026

    Claude AI · Fitted Claude

    Claude is a strong code review tool — capable of identifying bugs, security vulnerabilities, logic errors, and style issues across most languages and frameworks. Here’s how to use Claude for code review effectively, what it catches reliably, and where you still need a human reviewer.

    Bottom line: Claude is excellent for catching obvious bugs, security antipatterns, and code clarity issues — and fast enough to be part of your pre-PR workflow. It doesn’t replace review from someone who knows your system’s business logic, architectural constraints, or team conventions that aren’t visible in the code itself.

    What Claude Catches in Code Reviews

    Issue Type Claude’s reliability Notes
    Syntax errors and typos ✅ High Catches what linters miss
    Security vulnerabilities ✅ High SQL injection, XSS, hardcoded credentials, SSRF
    Logic errors in simple functions ✅ High Off-by-one errors, wrong comparisons, null handling
    Missing error handling ✅ High Uncaught exceptions, unhandled promise rejections
    Code clarity and readability ✅ High Naming, structure, comment quality
    Performance antipatterns ✅ Good N+1 queries, unnecessary loops, memory leaks
    Business logic correctness ⚠️ Limited Needs context Claude doesn’t have
    Architectural decisions ⚠️ Limited Requires system-wide context

    How to Run a Code Review With Claude

    The most effective approach is to give Claude both the code and the context it needs to review it well. A bare code dump produces generic feedback; a structured prompt produces actionable findings.

    Review this [language] code for: (1) security vulnerabilities, (2) bugs or logic errors, (3) missing error handling, (4) performance issues, (5) clarity problems.

    Context: This function [does X]. It receives [input type] and should return [output type]. It runs [frequency/context].

    Flag each issue with: severity (critical/high/medium/low), what’s wrong, and the fix.

    [paste code]

    Claude for Security Code Review

    Security review is one of Claude’s strongest code review use cases. It reliably identifies:

    • Injection vulnerabilities — SQL, command, LDAP injection patterns
    • Authentication issues — weak password handling, JWT misuse, session management problems
    • Hardcoded secrets — API keys, credentials in source code
    • Insecure dependencies — when you tell it what packages you’re using
    • Input validation gaps — missing sanitization, trust boundary violations

    For security review, explicitly tell Claude to “focus on security vulnerabilities” — the findings are more targeted and specific when it knows that’s the priority.

    Claude Code Review vs. Claude Code

    Code review via the chat interface is for analyzing code you paste in. Claude Code is the agentic tool that operates autonomously inside your actual development environment — reading files, running tests, and making changes. For code review as part of a larger development workflow, Claude Code can do it in-situ on your actual codebase rather than requiring you to paste code into a chat window.

    Frequently Asked Questions

    Can Claude review code?

    Yes. Claude is effective at catching bugs, security vulnerabilities, missing error handling, and clarity issues across most programming languages. Give it context about what the code is supposed to do for the most actionable feedback.

    Is Claude good for security code review?

    Yes, security review is one of Claude’s strongest code review use cases. It reliably identifies SQL injection, XSS, authentication issues, hardcoded credentials, and input validation gaps. Tell it explicitly to focus on security vulnerabilities for the most targeted output.

    What does Claude miss in code reviews?

    Claude can’t evaluate business logic correctness without context about your domain, architectural decisions without knowing your system design, or team conventions not visible in the code. It also can’t catch runtime behavior issues that only appear under specific conditions or load.

    Need this set up for your team?
    Talk to Will →