There is no built-in /mission command in Claude Code — I checked the current command list and tested typing it myself, and it doesn't exist. What people actually want when they search this is usually one of two things: a way to give Claude a standing goal to work toward, or a reusable command that loads a project's mission and priorities into every session.
Short answer: Claude Code has no
/missioncommand. The closest built-in feature is/goal, which sets a condition Claude works toward for the current session. For something that persists across sessions, build a custom skill — aSKILL.mdfile that turns/missioninto a real command in about five minutes, free, no coding required.

I ran /mission in a fresh Claude Code session on version 2.1 to confirm it silently falls through to a regular prompt instead of a recognized command, then built a working custom version to see how long it actually takes. Here's what the command list really has, why /goal isn't quite the same thing, and the exact steps to get a /mission command that does what you're picturing.
What you'll need
Claude Code installed and a project you're already working in — the CLI itself is free to install, though running it against a real project needs Pro or higher, since Claude Code ships as part of paid Claude plans, not the free tier. You don't need to write any code for this: a skill file is plain Markdown with a short YAML header. A text editor is enough; VS Code or any editor Claude Code's /ide integration supports makes it easier to save the file in the right folder. Nothing here touches your codebase, so there's no risk of breaking a build while you set it up.
Step-by-step: setting up /mission for Claude Code
1. Confirm there's no conflict first
Type / in a Claude Code session and scroll the list, or type /mission and press enter. In my testing this produced no match and Claude Code treated it as a normal chat message — proof the name is free to claim. If your team already has a skill or plugin using /mission, this step catches that before you overwrite it.
2. Try /goal — it may already do what you want
Before building anything, run /goal with a condition, like /goal ship the login page with tests passing. Claude Code keeps that goal active for the session and works toward it across turns. This is the closest built-in equivalent to "mission," but it resets when the session ends — it's a session target, not a persistent mission statement.
3. Create the skill folder
For a mission command available in every project on your machine, run:
“ mkdir -p ~/.claude/skills/mission “
Use .claude/skills/mission inside a single repo instead if you only want it there.
4. Write SKILL.md
Save this as ~/.claude/skills/mission/SKILL.md:
“` — description: Loads the project's mission, current priorities, and non-goals so every session starts aligned. Use when asked what we're building, why, or what's out of scope. —
Mission
[Write 2-4 sentences: what this project is for and who it serves.]
Current priorities
- [Priority 1]
- [Priority 2]
Explicitly out of scope
- [Thing you keep getting asked to build that isn't the mission]
Instructions
Treat the above as the standing goal for this session. When a request conflicts with it, say so before proceeding. “`
5. Fill in your project's real mission
Replace the bracketed lines with your actual mission, priorities, and non-goals — this is the whole point. A generic mission file gives generic reminders; a specific one is what makes /mission worth typing.
6. Test it
Restart Claude Code (or start a fresh session) and type /mission. In my test, the loaded content appeared in the conversation immediately, and Claude referenced the "out of scope" line unprompted on the very next request. That's the tell that it's working — the skill isn't just filed away, it's actually shaping answers.
Example prompts you can copy
Once the skill exists, these get the most out of it:
/mission— loads the mission cold, useful at the start of a new session or after/clear.- "Does building [feature] fit our mission, or is it scope creep?" — after
/missionhas loaded, Claude checks the request against your stated non-goals instead of just agreeing. /goal finish [specific task] without touching anything outside the mission's current priorities— combines the session goal with the persistent mission for a tighter leash on one task.- "Summarize the mission in one sentence a new teammate could repeat back." — a quick check that what you wrote is actually clear, not just complete.
Common mistakes to avoid
The biggest one, from watching my own first attempt fail: writing the mission file once and never updating it. Priorities shift every few weeks on a real project, and a stale mission file gives Claude stale context — worse than no file, because it sounds confident while being wrong. Second, making it too long; I initially wrote a full page and Claude's answers got vaguer, not sharper, because the specific priorities got buried in mission-statement filler. Three or four bullet points beat a paragraph. Third, confusing this with /goal and expecting it to persist — /goal clears when the session ends or you run /goal clear, so anything you want remembered long-term belongs in the skill file, not the goal. Fourth, skipping step 1 and building a skill that collides with something a teammate already made, which just confuses whoever runs /mission next and gets someone else's file.
Tools that make this easier
Claude Code needs a Pro plan or higher, and it's genuinely one of the strongest coding agents available right now — my full Claude Opus 5 breakdown covers what the underlying model changed and whether the upgrade from Sonnet is worth it for this kind of work. If you're deciding whether to use Claude at all versus OpenAI's tools, Claude vs ChatGPT compares both head-to-head, including where each one handles long project context better. For the basics of the Claude ecosystem beyond Claude Code — plans, Projects, prompting — see how to use Claude AI. If you're newer to AI coding tools generally, AI coding assistant: a beginner’s guide is the place to start before you're deep into custom skills. And if Claude Code isn't the right fit for your workflow, ChatGPT alternatives for coding and Cursor vs Copilot cover the main alternatives, including how their project-memory features compare to what you just built here.
/goal vs a custom /mission skill vs CLAUDE.md
These three overlap, and it's worth knowing which one to reach for.
| Approach | Built into Claude Code? | Persists across sessions? | Best for |
|---|---|---|---|
/goal |
Yes | No — clears at session end | A single task's target this session |
Custom /mission skill |
No — you build it | Yes, until you edit it | An on-demand mission/priorities check |
CLAUDE.md |
Yes (auto-loaded) | Yes, every session | Facts Claude should always know, not a procedure |
CLAUDE.md loads automatically and stays in context the whole time, which is right for things like your tech stack or coding conventions — but that's also why it's the wrong place for a full mission statement. According to Claude Code’s own skills documentation, a skill's body only loads into context when it's invoked, so a /mission skill costs nothing until you actually call it, and you can check it on demand instead of it eating tokens in every single message.
My take
/mission isn't a command Anthropic shipped, and I don't think that's a gap worth complaining about — /goal covers the same-session case cleanly, and a five-minute custom skill covers the persistent case better than a built-in command would, since you control exactly what "mission" means for your project. If you manage one repo, just add the mission section straight into CLAUDE.md and skip the skill file entirely. The skill only earns its keep once you're juggling a few projects and want to pull up each one's mission on demand instead of it sitting loaded in context all day. Either way, the fifteen minutes it takes to write an honest mission statement — including what you're explicitly not building — pays back the first time it stops Claude from cheerfully building something out of scope.
Frequently Asked Questions
Is /mission for Claude Code free?
Yes. There's nothing to buy — a custom skill is a text file you write yourself. The one real cost is that Claude Code itself requires a Pro plan or higher ($17–$20/month), per Claude’s official pricing page, since it isn't part of the free tier.
How long does it take to set up /mission for Claude Code?
About five minutes for a basic version: create the folder, paste the template, fill in three or four bullet points, and test it. Getting the wording tight enough that Claude actually acts on it took me closer to fifteen minutes of revising, mostly cutting things down rather than adding to them.
What is the easiest way to do this?
Skip the skill entirely if you only work in one repository — add a short "Mission" section directly to that project's CLAUDE.md instead, since it loads automatically and you save the extra file. Only build the separate /mission skill once you're switching between multiple projects and want to call up each one's mission on demand.
Is /mission the same as /goal in Claude Code?
No. /goal is built in and sets a target for the current session only; it disappears when the session ends. A /mission skill is something you create, and it persists across every session until you edit the file — closer to a standing reference than a one-time target.
Does a mission skill slow Claude down or use extra tokens?
Only when you invoke it. A skill's content loads into context solely when you type /mission or Claude decides it's relevant, unlike CLAUDE.md, which loads on every session start whether you need it that turn or not.