I automate a large part of my own go-to-market work with Claude, and the single most expensive mistake I see people make is not about prompting and not about model choice. It is surface choice. They open the chat box, type their request, fight the limitations for twenty minutes, and conclude Claude is not as good as the demos. Almost every time, the model was fine. They picked the wrong surface for the job.
Here is my strong opinion, and I will defend it for the rest of this guide: the model barely matters. The surface is the decision. Pick the wrong surface and even the best model feels useless, because you are asking a tool to do a thing it was never shaped to do. Asking the chat app to reliably run a report every morning is like asking a brilliant consultant to also be your cron job. They can technically do it once, while you sit there and watch, but that is not the tool for the work.
So I am not going to talk much about Opus 4.8 versus Sonnet 4.6 here. You choose the model inside a surface, and that choice is a second-order tuning knob. The first-order decision, the one that determines whether the whole thing works, is which surface you reach for: the chat apps, Claude Code, the Developer Platform, or the automation surfaces (Dispatch and Routines). Get that right and Claude feels like magic. Get it wrong and you will keep typing into a box that was never built for what you need. As always, specifics move fast, so verify anything load-bearing on the official docs before you build on it.
The model barely matters. The surface is the decision.
Most guides about choosing Claude start by comparing models. That is backwards. The model is the engine, but you do not choose a car by its engine before you have decided whether you need a car, a truck, or a delivery service that shows up while you sleep. The surface is that choice, and it is the one that actually changes outcomes.
Think about what each surface is physically capable of. The chat app talks to you and waits for you. Claude Code acts inside a real environment, your files, your terminal, your repo. The API lets software call Claude with no human present. Routines run on a schedule with nobody watching. These are not different flavors of the same thing. They are different shapes of work. A genius model in the wrong shape is a frustrated genius.
I will give you the decision tree in a moment, but here is the compressed version so it is in your head as you read. Are you thinking or drafting? The app. Are you doing work against a system, files, commands, a repo of content? Claude Code. Should a human not be in the loop at all, because it needs to run at scale or on a schedule or inside your product? The Developer Platform, and possibly Routines. That is the whole framework. Everything below is detail.
TipBefore you choose a model, ask one question: should a person be sitting here driving this? If yes, you are in the app or Claude Code. If no, you are on the API or Routines. That single question routes most decisions correctly.
The Claude apps: for thinking, not for doing the same thing twice
The Claude apps, web, desktop, and mobile at claude.ai, are the chat surface. You type, Claude answers, and a human stays in the loop the entire time. The friction is the lowest of any surface: no install, no setup, just a box. That low friction is exactly why people overuse it, and why they overuse it for the wrong jobs.
The app is genuinely excellent at a specific set of jobs: one-off thinking, drafting and writing, research, and ad hoc analysis. Projects give you a persistent workspace with its own context and files, so you are not re-explaining your situation every session. Artifacts give you a live pane where Claude builds and runs documents or small apps next to the conversation. Memory carries context forward across chats. Web search, plus Connectors to your tools, let it pull in real information instead of guessing. For exploring a problem, pressure-testing an idea, or writing a first draft, nothing beats it.
Here is where the app stops being the right answer, and this is the rule I want you to internalize: the moment you catch yourself doing the same prompt dance more than twice, you have outgrown the app. The app is built for a human to sit and drive. It is not built to run something reliably at scale or on a schedule, because the human is the engine. If the task is repeatable, or it needs to touch your files directly, or it needs to happen when you are asleep, the app is the wrong floor, no matter how good the answer is when you do it by hand.
- Use it for: thinking out loud, drafting and writing, research, one-off analysis, exploring a problem.
- Strengths: lowest friction, no install, Projects for persistent context, Artifacts you can run, Memory, web search, Connectors.
- Stop using it when: you are repeating the same task, the work lives in files you want edited directly, or it needs to run unattended.
Claude Code: when the job is doing, not talking
Claude Code is an agentic tool that acts in a real environment: your repo, your files, your terminal. It runs across the CLI, your IDE, the desktop, and the web. The difference from the chat app is not cosmetic. The app describes what to do; Claude Code does it. It reads and edits your files, runs commands, uses MCP servers and Skills, plans the work, and verifies its own output in a loop. You give it a goal, not a sequence of messages to copy-paste.
The biggest misconception is that this is a tool for software engineers only. I am not a software engineer by trade, I run demand gen, and Claude Code is one of the most-used tools in my stack. The reframe that unlocked it: Claude Code is not a coding tool, it is a do-things-on-my-machine tool that happens to be very good at code. Anything you can express as files and commands is fair game. People use it for data wrangling, content operations, and repo-of-markdown workflows, not just shipping software.
So the rule for Claude Code is about verbs. If the job is a verb that acts on a system, edit these forty files, reorganize this folder, run this pipeline and fix what breaks, transform this messy export into a clean dataset, that is Claude Code. The app would talk you through it while you do the clicking. Claude Code does the clicking. It is included with Pro and Max plans, or you can run it on API billing, so the cost model is flexible depending on how heavily you lean on it.
The honest dividing line between the app and Claude Code: the app is for when the output is words you will read, and Claude Code is for when the output is changes to a system. If at the end you want a draft, an answer, or an analysis, stay in the app. If at the end you want files to be different, commands to have run, a thing to be built, that is Claude Code.
TipIf you only try one thing beyond the chat box, open a real folder of work, run claude inside it, and give it a goal instead of a prompt. The jump from chatting to delegating is the single biggest mindset shift in the whole ecosystem, and it has nothing to do with whether you write code.
The Developer Platform (the API): when software makes the call
The Developer Platform is where you stop using Anthropic's products and start building your own. The defining condition for this surface is simple: a person is no longer the one deciding when Claude runs. Software is. You reach for the API when you need scale, repeatability, or to embed Claude inside your own product or pipeline. If a human has to click to make it happen, you probably want a different surface. If your code makes the call, you want this one.
The platform comes in tiers, and the difference between them is how much of the loop you run yourself. The simplest is a single Messages API call: you send a request, you get a response. This is the right tool for high-volume, well-defined jobs, classify these ten thousand tickets, extract fields from these documents, summarize these transcripts, draft these emails at scale. One input, one output, repeated as many times as you need by your software.
The next tier is tool use and workflows: you orchestrate the steps and call your own tools between model calls. You are still in control of the sequence, but Claude can now reach out to your systems mid-task. Above that sits the Agent SDK, where you build a custom agent loop that you host: you own the gather, act, verify cycle, host your own tools, and decide the trajectory. Use it when the task is genuinely open-ended and you want maximum control.
The top tier is Managed Agents, where Anthropic runs the loop for you and hosts the tool sandbox. You define a persisted, versioned agent configuration (model, system prompt, tools), then start sessions against it. Anthropic provisions the workspace, runs the loop on its own infrastructure, and supports file mounts, Skills, and MCP. This is the call when you want a stateful, long-running agent without babysitting the compute. My rule of thumb: start with a single Messages call, add tool use only when the task needs your systems, move to the Agent SDK when you need an open-ended loop you control, and reach for Managed Agents when you want the loop and the sandbox handled for you.
- Single Messages API call: classify, extract, summarize, draft at scale. One input, one output.
- Tool use and workflows: you orchestrate steps and call your own tools between model calls.
- Agent SDK: build and host your own agent loop. Maximum control over trajectory and tools.
- Managed Agents: Anthropic runs the loop and hosts the sandbox. Persisted versioned agents with sessions, file mounts, Skills, and MCP.
Dispatch and Routines: the automation surfaces
These two get conflated constantly, and the distinction is worth nailing because it is really a question of where the work physically runs.
Dispatch is a Claude Cowork feature that lets you send a task to your desktop Claude from your phone. The key word is desktop. It runs locally, on your own machine. You are not spinning up cloud compute, you are remote-controlling the Claude already sitting on your laptop. Which means your laptop has to be on and awake for it to work. Use Dispatch when you want to kick off or check on local work while you are away from your desk, work that needs your local files, your local tools, or your local environment.
Routines are the opposite arrangement. They are scheduled cloud agents, triggered by cron, by API, or by GitHub events, that run on Anthropic's infrastructure even when your computer is off. The defining property is that they happen regardless of whether you are around. Set up a routine, close your laptop, and it still runs. Use Routines for recurring, unattended automation: daily briefs, monitoring, scheduled reports, anything that needs to fire on a schedule without you.
So the clean mental model: Dispatch is remote control of your local Claude, Routines are autonomous agents living in the cloud. If the task needs your machine, Dispatch. If the task needs to happen on a schedule no matter what, Routines. I lean on Routines heavily for the recurring GTM jobs that have to run overnight, and I would never want those tied to my laptop being awake at 3am.
- Dispatch: phone to your desktop Claude. Runs locally. Your machine must be on. For kicking off or checking local work while away.
- Routines: scheduled cloud agents (cron, API, GitHub triggers) on Anthropic's infrastructure. Run when your machine is off. For recurring unattended automation.
The decision tree, in plain language
Here is the framework I give every colleague who asks where to start. Walk it top to bottom and stop at the first yes.
Question one: is a human going to sit and drive this, and is the output something to read (a draft, an answer, an analysis)? Use the Claude apps. This is most ad hoc work, and there is no shame in living here. The chat box is genuinely excellent for thinking and drafting.
Question two: do you want Claude to do multi-step work against a system, edit files, run commands, transform data, work inside a real project, with you still in the loop to steer? Use Claude Code. You do not need to be technical. If the output is changes to a system rather than words to read, this is your surface.
Question three: should a person not be in the loop at all, because the work needs to run at scale, repeatedly, or embedded inside your own product? Use the Developer Platform. Then the sub-question is how much of the loop you run: a single Messages call for well-defined high-volume jobs, tool use when you need your systems mid-task, the Agent SDK for an open-ended loop you host, Managed Agents when you want Anthropic to host the loop and sandbox.
Question four, which cuts across the others: when does it need to run? If it needs your local machine and you want to trigger it from your phone, Dispatch. If it needs to run on a schedule whether or not you are around, Routines. That is the entire map. Four surfaces, two automation triggers, one question repeated: should a human be driving, and where does the work live?
- You are thinking, drafting, or researching, one task at a time Claude apps
- The job is doing multi-step work against real files or a system Claude Code
- Software, not a person, makes the call, or you need scale and repeatability Developer Platform / API
- It should run on a schedule, unattended, while your machine is off Routines
- You want to kick off local work on your desktop from your phone Dispatch
- Thinking, drafting, reading an answer, human driving: the Claude apps.
- Doing multi-step work on files or a system, human steering: Claude Code.
- Software makes the call, scale or repeatability or embedding: the Developer Platform (API, Agent SDK, Managed Agents).
- Trigger local work from your phone: Dispatch. Run on a schedule unattended: Routines.
Worked examples: a marketer, a founder, a developer
Frameworks are easy to nod along to and hard to apply, so here are three people with three jobs, routed through the tree.
The marketer (this is me). I need to write a launch announcement: that is thinking and drafting, so I do it in the Claude app with a Project holding our brand voice and past launches. I need to clean up a messy 12,000-row export from our CRM and reshape it into the format our enrichment tool expects: that is doing work against files, so Claude Code, which transforms the data and verifies the row counts. I need a competitor-pricing-page monitor that emails me when something changes: that has to run when I am asleep, so a Routine. And the high-volume job of scoring every inbound lead against our ICP runs continuously inside our pipeline with no human present, so that is a single Messages API call wired into our stack. Same person, four surfaces, because the jobs are different shapes.
The founder. Drafting an investor update or pressure-testing positioning: the app, where the thinking happens. Standing up the first version of an internal tool, scaffolding a landing page, wiring a quick automation across files: Claude Code, even if they have not written code in years, because it does the doing. The moment that tool needs to serve customers, classify support tickets, generate per-account summaries, run reliably for thousands of users, it moves to the Developer Platform, because software now makes the call and a person cannot sit in the loop.
The developer. Exploring an unfamiliar API or sketching an approach: the app, fast and frictionless. Actually building the feature, editing files across the repo, running tests, fixing what breaks: Claude Code, where the verbs act on the real environment. Shipping Claude inside the product: the Agent SDK for a custom agent loop they host, or Managed Agents when they want the loop and sandbox handled and a persisted, versioned agent with sessions and a workspace. The model they pick inside each surface matters, but it is the last decision they make, not the first.
TipNotice that all three people use multiple surfaces, not one. The skill is not picking a favorite surface, it is routing each individual task to the right one. The people who get the most out of Claude are fluent in all of them and loyal to none.
The mistakes that cost the most
After a year living in this stack, the failure patterns are predictable, and almost all of them are surface mistakes wearing a model costume.
The most common: forcing recurring work into the chat box. If you are doing the same thing every morning by hand in the app, you have a Routine or an API job pretending to be a conversation. The app is not failing you, you are using a surface built for one-off human-driven work to do repeatable unattended work.
The second: assuming Claude Code is only for engineers and never trying it. If your work is files and commands, content ops, data wrangling, a repo of markdown, you are leaving the best surface on the table because of its name. The third: reaching for the Developer Platform too early. If a human is still happily in the loop and the volume is low, the API is overkill; you are writing code to do what the app or Claude Code already does for free with less effort. The fourth, the inverse: trying to scale the app by clicking faster. There is a ceiling, and the ceiling is a person. When you hit it, that is the signal to move to the platform, not to click harder.
And the meta-mistake that ties them all together: obsessing over which model to use before deciding which surface. Model choice is real and it matters for cost and quality, but it is a tuning decision inside a surface. If you find yourself debating Opus versus Sonnet before you have decided app versus Code versus API, you are optimizing the engine of a car you have not confirmed you need. Pick the surface first. The model is the easy part.
Frequently asked questions
Should I use Claude or Claude Code?
Use the Claude app (claude.ai) when you are thinking, drafting, researching, or doing one-off analysis and a person stays in the loop. Use Claude Code when the job is doing multi-step work against a real environment: editing files, running commands, transforming data, working inside a project. The simplest test: if the output is words to read, use the app. If the output is changes to a system, use Claude Code.
When should I use the Claude API?
Use the Developer Platform (the API) when software, not a person, makes the call, or when you need scale, repeatability, or to embed Claude inside your own product. A single Messages API call handles high-volume jobs like classify, extract, summarize, or draft. Add tool use and workflows when you need your own systems mid-task, the Agent SDK to host your own agent loop, or Managed Agents to have Anthropic run the loop and sandbox for you.
What is Claude Code for?
Claude Code is an agentic tool that acts in a real environment, your repo, files, and terminal, across the CLI, IDE, desktop, and web. It reads and edits files, runs commands, uses MCP servers and Skills, plans, and verifies its own work. It is best when the job means doing multi-step work against files or a system rather than just talking. It is not only for software: people use it for data wrangling, content operations, and markdown-repo workflows.
Do I need to know how to code to use Claude Code?
No. Claude Code is very good at code, but the broader truth is that it is a do-things-on-my-machine tool. If your work can be expressed as files and commands, content ops, data cleanup, reorganizing folders, running pipelines, you can use it without writing code yourself. You describe the goal, and it plans, acts, and verifies. Plenty of non-engineers, including marketers and founders, run it as a core tool.
What is the difference between Dispatch and Routines?
Dispatch is a Claude Cowork feature that sends a task from your phone to your desktop Claude, and it runs locally on your machine, so your machine has to be on and awake. Routines are scheduled cloud agents triggered by cron, API, or GitHub that run on Anthropic's infrastructure even when your computer is off. Dispatch is remote control of your local Claude. Routines are autonomous cloud agents for recurring, unattended work.
Does the Claude model I pick matter more than the surface?
No. The surface is the first-order decision; the model is a tuning knob inside it. Picking the wrong surface, for example forcing recurring automation into the chat box, makes even the best model feel useless because the tool is the wrong shape for the job. Decide app versus Claude Code versus the API first, then choose the model (such as Sonnet 4.6 by default, promoting harder jobs to Opus 4.8) within that surface.
Can I use Claude on a schedule without my computer on?
Yes, with Routines. Routines are scheduled cloud agents that run on Anthropic's infrastructure, triggered by cron, API, or GitHub events, and they run even when your computer is off. They are the right surface for daily briefs, monitoring, and scheduled reports. Dispatch, by contrast, runs locally on your desktop and requires your machine to be on.
How do I connect Claude to my own tools and data, whichever surface I use?
Use MCP, the Model Context Protocol, an open standard that connects Claude to your tools and data across surfaces. In the app it shows up as Connectors; Claude Code, the Agent SDK, and Managed Agents all support MCP servers directly. Skills package reusable expertise on top. MCP is the connective tissue that lets any surface act on your real systems rather than guessing.
Sources & further reading
Claude ships fast. This page was last reviewed Jun 16, 2026; verify time-sensitive details against the official docs above before relying on them.