# gamedev CLI reference

Every gamedev CLI command and option: interactive and headless modes, pkg, remote, daemon, acp, image-runtime, update, and the slash commands in the terminal.

_Last updated: 2026-11-04_

The `gamedev` CLI is the AI Game Dev agent in your terminal: the same account, models, packages and engine connection as the desktop app. This reference lists every command and option of the CLI, the slash commands you type inside it, and its exit codes. Install it with `npm install -g @baizor/gamedev` (see [Installation](https://ai-game.dev/docs/wiki/app/installation#cli)).

## Usage at a glance

```text
gamedev [<project-dir>] [options]          interactive terminal UI
gamedev --print "<prompt>"                 headless one-shot query, reply on stdout
gamedev --print -                          headless, prompt read from stdin
gamedev --headless                         headless, prompt read from stdin
gamedev update                             upgrade the CLI to the latest version
gamedev pkg <subcommand> [args]            manage packages, then exit
gamedev image-runtime [status|start]       the local image runtime
gamedev remote <subcommand> [args]         remote access and your other devices
gamedev daemon <subcommand>                the background service
gamedev --on <name|id-prefix>              the terminal UI on another computer's chats
gamedev acp [--model <model>]              Agent Client Protocol agent on stdin/stdout
gamedev --help | --version
```

## Options

| Option | Meaning |
| --- | --- |
| `<project-dir>` | Project folder (same as `--project`); a relative path is resolved against the current directory |
| `--project`, `-p <path>` | Project folder (default: the current directory) |
| `--cwd <path>` | Alias for `--project` |
| `--model <model>` | Model to use (default: the one your account is assigned) |
| `--resume`, `-r <id>` | Resume a previous session |
| `--print <prompt>` | Non-interactive: send the prompt, stream the reply to stdout, exit. `-` reads stdin |
| `--headless` | Force non-interactive mode, prompt from stdin |
| `--on <name>` | Open the terminal UI on another paired computer's chats |
| `--help`, `-h` | Show help |
| `--version`, `-v` | Print the version |

`--project` and `--cwd` take precedence over a positional folder.

## Interactive mode

Run `gamedev` in a project folder. Type a request and press Enter. Useful keys:

- `/` opens the slash command palette; arrow keys move, Tab completes the command name.
- Esc while a reply is streaming interrupts it.
- Ctrl+C exits (press twice to confirm).
- Hold Space for about a third of a second in the input to talk (push-to-talk voice input).

Without a terminal (piped input) the CLI falls back to a simple line mode.

## Headless mode and scripting

Headless runs print only the reply on stdout; what the CLI detected (for example "Unity project detected") goes to stderr.

```bash
gamedev --print "List every scene in this project"
echo "Summarise the open TODOs in Assets/Scripts" | gamedev --headless
gamedev --project ./MyGame --model <model-id> --print "Run the edit-mode tests"
```

| Exit code | When |
| --- | --- |
| `0` | The reply finished |
| `1` | A query, network or agent error, or Ctrl+C after the run started |
| `2` | Not signed in, an empty prompt, or an unusable folder or flag |
| `130` | Ctrl+C before the run started; nothing was sent |
| `143` | SIGTERM; the CLI detaches and a prompt already sent keeps running in the background service |

## gamedev pkg

Manage [packages](https://ai-game.dev/docs/wiki/app/packages) of the project in the current directory (or `--cwd <path>`). Level flags: `--user` (every project on this computer), `--project` (committed, the default), `--local` (this checkout only).

```text
gamedev pkg list [--user]                      packages in effect (--user: the user level alone)
gamedev pkg add <input> [level]                <publisher.name>[@range] | github:<owner>/<repo>[@tag|#ref] | npm:<name> | file:<path> | URL | owner/repo | folder
gamedev pkg remove <id> [level]                delete the id's entry at that level
gamedev pkg exclude <id> [level]               turn the package off at that level
gamedev pkg include <id> [level]               undo exclude
gamedev pkg update [<id>] [--user]             newest compatible version within the declared range, now
gamedev pkg auto-update on|off <id>            this computer's auto-update preference for one package
gamedev pkg sync [--user]                      make locks and cache match the level files
gamedev pkg link <folder> [level]              use a local folder instead of the published version (default --local)
gamedev pkg unlink <id> [level]                stop using the local folder
gamedev pkg dev <folder> [level]               link, and rebuild on every source change until Ctrl+C
gamedev pkg settings <id> [<key> [<value>]]    read or write a package's settings (--unset clears a value)
```

`gamedev pkg settings` exits with code 1 when a value is refused and 2 on a usage error. See [Creating packages](https://ai-game.dev/docs/wiki/app/creating-packages#develop) for `link` and `dev`.

## gamedev image-runtime

```text
gamedev image-runtime status [--json]    show this computer's local image runtime coordinator
gamedev image-runtime start [--json]     start it through the background service
```

Models themselves are managed with `/images` inside the CLI (below).

## gamedev remote

Remote access between your computers and devices signed in to the same account. `/remote` in the interactive CLI is the same command.

```text
gamedev remote status                         this computer and your other devices
gamedev remote pair                           show a pairing code and QR, then approve the device that enters it
gamedev remote join <device> <code>           pair with another computer
gamedev remote allow [<device>]               allow remote control here, or let a device control chats
gamedev remote allow <device> --services      let a device use this computer's shared models
gamedev remote block [<device>] [--services]  turn remote control off, or take a device's access away
gamedev remote share [on|off]                 share this computer's models with your other computers
gamedev remote share pause|resume             stop or resume accepting images from other computers
gamedev remote forget <device>                unpin a computer you paired with
gamedev remote revoke <device>                remove a device paired with this computer
gamedev remote rename <name>                  the name your other devices see
```

A device is a name or the start of its id. `pair` asks separately about viewing, control and shared models. Then `gamedev --on <device>` opens that computer's chats; `/machine` lists or switches computers and `/machine this` comes back.

## gamedev daemon

The background service that the desktop app and the CLI share.

```text
gamedev daemon status       installed and running; the Kernel, account, remote access, logs
gamedev daemon install      run it as a per-user OS service that starts at login and restarts if it stops
gamedev daemon uninstall    remove the OS service
gamedev daemon start        start the background service
gamedev daemon stop         stop it
gamedev daemon restart      stop, then start
gamedev daemon logs [kernel|service|remote|auth] [--lines N] [--follow]
```

The OS service is a LaunchAgent on macOS, a systemd user unit on Linux and a Task Scheduler task at logon on Windows; it needs no admin rights.

## gamedev acp

`gamedev acp` turns the CLI into an Agent Client Protocol agent for ACP clients such as T3 Code, Zed and JetBrains IDEs. The client starts it; protocol messages use stdout and diagnostics go to stderr. In the client, add a custom agent with the command `gamedev` and the argument `acp`. It uses this computer's sign-in, your account's models and the project's engine tools. The post [AI Game Dev as an ACP agent in T3 Code](https://ai-game.dev/blog/acp-agent-t3-code) walks through the setup.

## Slash commands

Type these inside the interactive CLI. Many also work in the desktop chat.

### Chat and session

| Command | What it does |
| --- | --- |
| `/help` | List the available commands |
| `/clear` | Start a fresh conversation |
| `/reset` | Reset the current session |
| `/reopen` | Reopen a lost chat from its saved history (nothing is resent) |
| `/saved` | Recover saved messages, settings, images and file or Git changes |
| `/model` | Pick the model (Tab: reasoning effort) |
| `/agent` | List the agents; `/agent use <id>` switches, `/agent refresh` reloads the list |
| `/skills` | List the skills available in this project |
| `/context` | Toggle the context debug panel |
| `/exit` | Exit (also `/quit`) |

### Account, settings and updates

| Command | What it does |
| --- | --- |
| `/login [--switch]` | Sign in; `--switch` changes this computer's account |
| `/logout` | Sign out |
| `/config` | Settings, including this session's **Tools** |
| `/permissions` | Show or change when the AI asks before running tools |
| `/voice-language` | Set the voice transcription language |
| `/update [now]` | How to upgrade the CLI; `now` updates a waiting background service |
| `/remote`, `/machine` | Remote access; list or switch computers |

### Engine and project

| Command | What it does |
| --- | --- |
| `/install-plugin [path]` | Install the MCP plugin into the current Unity, Godot or Unreal project |
| `/install-extension` | Browse and install an engine extension |
| `/open` | Open the editor for the current project |
| `/create-project` | Create a new game project, for example `/create-project unity MyGame` (engine `unity`, `godot` or `unreal`, a name, an optional parent folder) |
| `/file` | Create, rename, move, copy or delete project files |
| `/files [n]` | List files mentioned in this chat; open one |
| `/search`, `/replace` | Search the project; save, apply and recover Search Replace |
| `/git` | Status, stage, commit, discard, pull, push, force-push and init |

### Extensions, packages and models

| Command | What it does |
| --- | --- |
| `/packages` | The same subcommands as `gamedev pkg`, plus `views`, `tree <view id>`, `runs`, `cancel` and `reload` |
| `/mcp` | Manage the project's MCP servers: add, enable, remove, test |
| `/plugin` | Manage Claude plugins and marketplaces: install, enable, update |
| `/images` | Local image models, downloads and storage (`/images help`) |
| `/image [n]` | List this session's images; open or remove one |
| `/models` | Every way to run a media model, local and cloud; add `image`, `video`, `audio` or `3d` (`/models help`) |
| `/cloud` | This session's Cloud generation setting: `ask`, `budget <percent>` or `off` |
| `/blender`, `/supercollider`, `/kb` | Commands of the Blender, Music and Knowledge Base packages |

Installed packages can add more slash commands; they appear in the `/` palette.

### /images subcommands

```text
/images                               this computer, the runtime, storage and every image model
/images download <model> [--yes]      download a model (and the runtime when missing); asks first
/images cancel|resume <model|runtime> stop or continue a download
/images update <model> [--yes]        download a model's update
/images delete <model> [--yes]        delete a model's files from this computer
/images allow|block <model> [--user|--project]   whether the agent may use it
/images default <model|auto>          the default image model (auto = recommended for this computer)
/images stop [session|<job id>]       stop image generation and free the GPU
/images free-space [--yes]            delete model files no model uses any more
/images storage [<new folder>]        show or move the model storage folder
/images redetect                      detect the GPU, memory and driver again
/images reinstall                     set the image runtime up again
```

## Environment variables

| Variable | Purpose |
| --- | --- |
| `AI_GAME_DEV_MODEL` | Default model override |
| `AI_GAME_DEV_ASCII_GLYPHS` | `1` forces ASCII meters in the `/model` picker for terminals that mis-measure emoji |

Configuration priority: command-line options, then environment variables, then `~/.ai-game-dev/config.json`.

## Related

- The engine plugins have their own CLIs: [`unity-mcp-cli`](https://ai-game.dev/docs/wiki/unity/cli), [`unreal-mcp-cli`](https://ai-game.dev/docs/wiki/unreal/cli), [`godot-cli`](https://ai-game.dev/docs/wiki/godot/cli).
- [Troubleshooting](https://ai-game.dev/docs/wiki/app/troubleshooting) for errors and exit codes in practice.

---

Source (HTML): https://ai-game.dev/docs/wiki/app/cli
