Skip to the guide text
godspeedmissioncontrol.com
Guide menu

Terminal commands

Every mc- command that comes with Godspeed Mission Control, where it is on each installation, its exact syntax and what it answers.

Applies to Windows, Mac and Linux, a server

Last updated 18 October 2026

On this page
  1. Where the commands are
  2. Windows
  3. Mac and Linux
  4. The one-line server
  5. Another mission control folder
  6. Deadlines and goals
  7. mc-due
  8. mc-goals
  9. mc-work
  10. mc-forecast
  11. Rules, keys and facts
  12. mc-compile-rules
  13. mc-check-keys
  14. mc-check-built-on
  15. Search and the conversation archive
  16. mc-search
  17. mc-prompt-archive
  18. mc-prompt-harvest
  19. Email
  20. mc-mail
  21. Routines by hand
  22. mc-run
  23. mc-decide
  24. mc-work-run
  25. mc-research
  26. mc-coach-prep
  27. hermes
  28. Optional
  29. mc-observed-state
  30. Removing it
  31. mc-uninstall
  32. Commands the assistant and routines use

You normally tell Godspeed what to do in a chat (Things you can say, Chat commands), and your assistant runs these commands for you. Type them yourself to check, repair or script something. Open a terminal: PowerShell on Windows (open the Start menu and type PowerShell), Terminal on a Mac, any terminal on Linux. They all start with mc-; there is no command named godspeed.

Where the commands are

#

Windows

#

The installer puts the commands in %USERPROFILE%\.local\bin and adds that folder to your PATH, the list of folders a terminal looks in. Open a new PowerShell window after installing.

  • PowerShell and Command Prompt run mc-due, mc-goals, mc-work, mc-forecast, mc-compile-rules, mc-check-keys, mc-search, mc-prompt-archive, mc-prompt-harvest, mc-mail, mc-observed-state, mc-check-built-on, mc-research, mc-check-brief, mc-check-research, mc-judge-brief, mc-coach-prep and mc-notebook-sync.
  • mc-run, mc-decide and mc-work-run can be typed in PowerShell too. They hand themselves over to Git Bash.
  • Before 2.0.0-beta.11, mc-check-built-on and mc-research printed nothing in PowerShell. After an update they print as they do in Git Bash, a terminal that comes with Git, which the installer adds.
  • hermes is not found in PowerShell. See hermes.

Mac and Linux

#

The installer puts the commands and hermes in ~/.local/bin. It adds that folder to your PATH in the settings of bash and zsh, the shell of a Mac's Terminal. Open a new terminal window after installing. A server without Docker, where you ran install-godspeed.sh, is the same.

The one-line server

#

On a server installed with the one-line command, Godspeed and its commands run inside a Docker container. Server commands shows how to run them there.

Another mission control folder

#

Inside your mission control folder, a command works on that folder. Anywhere else, it uses the mission control this computer was set up with, except mc-compile-rules and mc-check-built-on, which need the folder. --godspeed names another folder, such as a second mission control installed beside the first:

Terminal
mc-due --godspeed "$HOME/godspeed-second"

In PowerShell, write the folder as "$env:USERPROFILE\godspeed-second". mc-goals, mc-work and mc-forecast ignore --godspeed, so go into the other folder first with cd.

Deadlines and goals

#

mc-due

#

Keeps everything that has a day: a target (the day you would like it done), a deadline (the last day before missing it costs you), or both.

Terminal
mc-due
mc-due today
mc-due add <name> --title "..." --target YYYY-MM-DD --done-when "..."
mc-due add <name> --title "..." --to YYYY-MM-DD --done-when "..." --cost "..."
mc-due target <name> YYYY-MM-DD
mc-due target <name> asap
mc-due done <name> [--evidence "..."]
mc-due drop <name> --yes
mc-due check
mc-due state
mc-due --help
  • mc-due alone lists everything, the most pressing first. today shows at most three, for today's morning brief.
  • target gives a new day, or asap. done closes one, and drop calls one off for good.
  • check closes the ones that can tell by themselves that they are done. state shows what is open and what closed the rest.

Options for add:

  • --done-when: what is true once it is finished. Always needed.
  • --target: the day you would like it done. --to: the last day, which needs --cost, what it costs you if it slips.
  • --from: the first day you can start, today if left out.
  • --repeats: weekly, fortnightly, monthly, quarterly, yearly or "every N days".
  • --link: a web address that belongs to it.

Example:

Terminal
mc-due add dentist --title "Book the dentist" --target 2026-11-15 --done-when "an appointment is booked"
Made dentist. You would like it done by 2026-11-15. Nothing is said about it before that day.
It cannot tell by itself that you did it, so it waits for your word:  mc-due done dentist

mc-due done dentist writes the day you finished it as a moment on your timeline, under notebook/Timeline/, so your lists and reminders see it as done. Without a day, add answers "This needs a day". The Deadline reminders routine runs mc-due every morning at 08:00 (Get reminded of a deadline).

mc-goals

#

Keeps your goals, one card each in goals/. A goal you file stays provisional until you adopt it, and every change keeps its reason. Your first adopted goal starts the routines.

Terminal
mc-goals list
mc-goals show <id>
mc-goals tree
mc-goals attention
mc-goals file --kind outcome --title "..." --source "..." [--area health] [--measure "..."]
mc-goals adopt|pause|achieve|retire <id> --why "..."
mc-goals change <id> --set "FIELD=value" --why "..."
mc-goals progress <id> --evidence "..."
mc-goals read <id> <number> --where "..."
mc-goals status [<id>]
mc-goals allow <id> --kind <short-name> --what "..." --per-week <n> --words "..."
mc-goals allow <id> --kind <short-name> --revoke --words "..."
mc-goals may <id>
mc-goals help
  • --kind on file is outcome, strategy, project or commitment. --area is health, money, relationships, work, godspeed or other. --measure says how you will know it is reached.
  • attention shows the goals that get attention today, at most three, each with its reason.
  • read saves this week's number for a goal's weekly number, and --where says where you read it. status shows each goal's weekly number, its readings and what came of each step.
  • allow lets one kind of step go out without asking each time, up to a number per week. It goes only after your morning brief or the daily round's morning message has listed it. --kind is a short name you choose, such as blog-typo-fixes.
  • Money, sign-ups, bookings, cancellations, ads, bulk messages and a first message to someone new always need a fresh yes, and allow refuses them.
  • may shows what a goal may do without asking. --revoke takes a permission back (Approve, stop or allow a step).

Example:

Terminal
mc-goals file --kind outcome --title "Run a 10 km race" --source "said in chat, 2026-10-17" --area health --measure "a finished 10 km race"
run-a-10-km-race: provisional outcome filed
  provisional: never acted on as a goal until adopted; at most one clarifying question in seven days

mc-goals adopt run-a-10-km-race --why "I said yes" then adopts it. Without --why you see "ERROR: --why is required: a goal changes for a reason, and the reason is kept".

mc-work

#

Keeps the work your mission control does for your goals. For you: which steps go out, and stopping them.

Terminal
mc-work list
mc-work show <id>
mc-work going-out
mc-work went-out
mc-work stop <id> --words "..."
mc-work stop --today --words "..."
mc-work help
  • going-out lists the steps that go out in the next 24 hours unless you stop them. went-out lists the ones that went ahead by themselves yesterday.
  • stop keeps one step back, and stop --today every step due within 24 hours. --words keeps your reason.
  • Times are in UTC, while your routines and your morning brief use your own clock.

Example: mc-work stop W-20261017-01 --words "not this one" answers W-20261017-01: stopped. With nothing planned, going-out answers "nothing goes out in the next 24 hours". A step that is already going out cannot be stopped: ask your assistant to undo it.

mc-forecast

#

Keeps your mission control's dated guesses about your goals, which the routines write, and scores them once they are settled.

Terminal
mc-forecast list
mc-forecast show <id>
mc-forecast score
mc-forecast help

Before any forecast is settled, score answers "no resolved binary forecasts yet; the first score exists when the first deadline passes and is resolved with evidence".

Rules, keys and facts

#

mc-compile-rules

#

Writes the one-line version of each rule in rules/ into AGENTS.md, the instructions your assistant reads first. Godspeed's brain in the notebook does this for you, so you need it only after editing a rule file by hand.

Terminal
mc-compile-rules
mc-compile-rules --check
mc-compile-rules --godspeed PATH

On a new mission control, --check answers "AGENTS.md is up to date: 8 rules, 1521 characters." The rules may take at most 4,000 characters. Above that you see "Not written. The block would be" with the size, and your three longest lines.

mc-check-keys

#

Checks that this computer can open the keys your folder keeps locked in secrets/, such as one added by mc-mail connect agentmail, and whether one runs out soon. It never shows a key.

Terminal
mc-check-keys [--godspeed PATH]

It answers four questions in turn, from "Does your folder carry any keys?" to "Is any of them about to run out?". It ends with "Everything your folder carries is on this computer and working." or the number of lines that need you. A folder without keys, such as a new one, stops after the first question with "Nothing to check."

mc-check-built-on

#

When a fact about your life kept in world/claims/ stops being true, shows which lines in profile/, rules/, procedures.md and AGENTS.md still say the old value. It changes nothing.

Terminal
mc-check-built-on
mc-check-built-on --claim <subject>/<attribute>
mc-check-built-on --json

Example: mc-check-built-on --claim me/current-city. Godspeed normally keeps such facts in the notebook, so on most installations it answers "no closed claims yet (0 claims). Nothing can be built on a fact that has not changed." On Windows it runs only in Git Bash.

Search and the conversation archive

#
#

Finds words in the Markdown files of your mission control folder, best matches first.

Terminal
mc-search <words...> [--limit N] [--json]

Example: mc-search dentist. It reads only the files Git keeps in your folder, plus decisions.md, and its last line says where it looked. A new installation saves the files it starts with in Git, so those are found from the first day. A file you or your assistant made later is found once it is committed. For your notes, the notebook's search box is quicker.

mc-prompt-archive

#

Searches and keeps your conversation archive in prompts/archive/: what you typed to AI programs on this computer, and their answers. Keys and email addresses are removed before saving; list names to remove too, one per line, in ~/.godspeed/redact.txt.

Terminal
mc-prompt-archive search <words...> [--limit N]
mc-prompt-archive get <name>
mc-prompt-archive stats
mc-prompt-archive sources
mc-prompt-archive
mc-prompt-archive --dry-run
mc-prompt-archive rescrub
mc-prompt-archive backfill
  • search finds the conversations that contain any of your words, most matches first, 12 unless you set --limit. It also lists your saved prompts in prompts/library/ that contain all of them, and get shows one of those in full.
  • stats counts what is archived, per computer. sources lists where on this computer you type to an AI.
  • On its own it collects new conversations now. --dry-run shows what it would add.
  • rescrub removes names you added to redact.txt later from what is already stored. backfill adds the AI's answers to conversations archived without them.

Example: mc-prompt-archive search invoice reminder. With no match it says "That is a checked absence, not an error." More on Find an old conversation.

mc-prompt-harvest

#

Adds this computer's new conversations to the archive. The installer schedules it, so run it only to see that it works.

Terminal
mc-prompt-harvest --verbose
mc-prompt-harvest --no-push

--verbose says what it did. Once record sync is connected, it also sends the archive to your private GitHub repository; --no-push keeps it on this computer.

Email

#

mc-mail

#

Connects your Gmail and shows what is connected. Your assistant uses it to search, read and save drafts, and you press Send in Gmail yourself.

Terminal
mc-mail status [--check]
mc-mail connect gmail-imap
mc-mail disconnect gmail
mc-mail connect agentmail
mc-mail disconnect agentmail
mc-mail search --gmail <words>
mc-mail read <id> --gmail
mc-mail setup [--check]
  • connect gmail-imap asks for your Gmail address and an app password, 16 letters Google makes for one program on a page the command shows you. App passwords need 2-Step Verification.
  • disconnect gmail stops at once. Remove the app password at Google as well.
  • connect agentmail gives your mission control an address of its own at AgentMail, a separate mail service, with an inbox and a read-only key you create there.
  • setup --check checks that every assistant on this computer knows the mail tool, and setup tells them.
  • pair request, pair finish <receipt> and pair forget connect a computer over SSH to the Gmail connection of a server without Docker, where pair approve, pair list and pair remove manage them.

With nothing connected, mc-mail answers:

gmail: not connected - Optional. When you want it, ask your assistant: Connect Gmail for me. Until then, paste an email or forward it to the mission control's address.
godspeed: not connected - Optional: give the mission control its own address with mc-mail connect agentmail.

On the one-line server, connect gmail-imap answers with a docker exec line to paste into the server's own terminal (Let it read your Gmail).

Routines by hand

#

Your routines run these commands on their schedule; run them by hand only to test something. Without --dry-run, and always with mc-run, an AI does the work through your AI account, which costs money with an API key.

mc-run

#

Runs one skill (step-by-step instructions in your folder's skills/, also called a recipe) with nobody at the keyboard, through Hermes, Claude Code or Codex.

Terminal
mc-run --list
mc-run <skill> --prompt "..."
mc-run <skill> --prompt-file FILE --out FILE --timeout SECONDS

--list shows every skill. GODSPEED_RUNNER=hermes, claude or codex in front of the command picks the program (Mac, Linux or Git Bash). Otherwise it uses a GODSPEED_RUNNER= line in scripts/config/mc-runner.env or ~/.godspeed/device.env, or the first of the three it finds.

Example: mc-run keep-a-note --prompt "Note: dentist on Thursday". A wrong name answers "mc-run: there is no recipe called" with the name.

mc-decide

#

Makes the day's decision: which work the routine "Daily round: choose today's work" picks for your goals at 05:30.

Terminal
mc-decide --dry-run
mc-decide

--dry-run shows the goals that get attention and the open work, then "Nothing was decided." It still writes its working files into routines/next-action/, in a folder named after the day. If a line says a helper is "not on this computer", that helper is missing from this installation and the day was decided without it. A real run ends with decided or NOT decided and the day.

mc-work-run

#

Carries out the day's work items, at most two per run. --max-items sets another number. The routine "Daily round: do the work" runs it at 10:00 and 16:00.

Terminal
mc-work-run --dry-run
mc-work-run --only <id>

--dry-run answers "Would run, in this order (at most 2):" with the items, and "Nothing was taken, run or written."

mc-research

#

Runs the nightly research for each adopted goal. It reads public web pages for up to two hours, writes research files and contacts nobody. The routine "Nightly goal research" runs it at 00:15.

Terminal
mc-research --dry-run
mc-research --only <goal id>

--dry-run lists what is due tonight, such as run-a-10-km-race founding never: the goal's first, fuller research, never run before. On Windows it runs only in Git Bash.

mc-coach-prep

#

Prepares each coaching talk of today or tomorrow that is not ready yet, with the coach-prep skill. It writes only the talk's preparation and contacts nobody. The routine "Coaching talk preparation" runs it at 03:00.

Terminal
mc-coach-prep --dry-run
mc-coach-prep --area weekly-check-in --talk 2026-10-25

--dry-run lists the talks it would prepare now, or says "Nothing to prepare". --area with --talk prepares that talk now, also weeks ahead. On Windows it runs only in Git Bash.

hermes

#

Hermes is the program that runs your assistant. Its cron commands show and control the routines.

Terminal
hermes cron list
hermes cron pause <job id>
hermes cron resume <job id>
hermes cron run <job id>
hermes cron runs
hermes cron incidents
hermes cron status
  • list shows every routine with its ID.
  • run runs one on the scheduler's next tick, which happens only while the notebook program is running.
  • runs lists recent runs, and incidents groups the failures.
  • status names the scheduler, godspeed_notebook, and the active routines. It does not check that the notebook runs.

On Windows, Godspeed keeps its own copy of Hermes, off the PATH. In PowerShell these lines start it, here for cron list:

PowerShell
$s = "$env:LOCALAPPDATA\Godspeed Mission Control State"; if (-not (Test-Path "$s\installation.json")) { $s = "$env:LOCALAPPDATA\Godspeed Mission Control Full Alpha State" }
$a = Get-Content "$s\assistant.json" -Raw | ConvertFrom-Json
$env:HERMES_HOME = $a.home
& $a.executable cron list

The first line picks your state folder. A Windows install made before 2.0.0-beta.11 keeps the older name, which ends in "Full Alpha State", also after updating.

Settings, Routines in the notebook shows the same routines with Pause, Resume and Run due routines (Pause, move or run a routine). Hermes documents the rest of its command line.

Optional

#

mc-observed-state

#

Prints one line for a morning brief from the public site Observed State: whether air traffic, the internet or large earthquakes are out of their normal range today. It sends nothing about you.

Terminal
mc-observed-state
mc-observed-state --append FILE

When its data is missing or old, it says "not available right now".

Removing it

#

mc-uninstall

#

Removes Godspeed Mission Control's programs from a Mac or Linux computer: the notebook's background service, its scheduled jobs, the programs in ~/.local/bin and ~/.godspeed. Your mission control folder stays, with your notebook, photos, files and backups.

Terminal
mc-uninstall
mc-uninstall --yes

It asks first; --yes answers for you. A step that needs sudo it could not use is printed at the end, for you to run. Uninstall has the rest.

Commands the assistant and routines use

#

These are in your assistant's own command folder, and you meet them in logs. The folder is %LOCALAPPDATA%\Godspeed Mission Control State\hermes-profile\bin on Windows (...\Godspeed Mission Control Full Alpha State\... for an install made before 2.0.0-beta.11), ~/.hermes/bin on a Mac or Linux, and /opt/data/full-candidate/hermes/bin on the one-line server.

  • mc-check-brief: checks a morning brief before it is sent.
  • mc-judge-brief: has your assistant judge each line you are handed to post or send.
  • mc-check-written, mc-check-moves, mc-check-research: check a work item's file, the day's planned moves and a goal's nightly research.
  • mc-watch: keeps the topics of your watches.
  • mc-subs: keeps the register of your AI subscriptions.
  • godspeed-coach, godspeed-journal, godspeed-headache: the programs behind habits and talks, the journal and the headache diary.
  • mc-video: the video add-on.

Something wrong or unclear? Tell us on GitHub.