You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 53a921b
Browse filesBrowse the repository at this point in the historyBrowse files
Copy file name to clipboardExpand all lines: README.md
+20-8Lines changed: 20 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -41,7 +41,7 @@ Dispatch reads your local Copilot CLI session store and presents every past sess
41
41
-**Session favorites** (`*`) — star sessions as favorites. Filter to show only favorites via the `!` status picker
42
42
-**Session tags** (`#`) — attach comma-separated tags to sessions and filter to a tag with the `tag:` search token
43
43
-**Session aliases** (`A`) — give a session a short, memorable alias and resume it from the CLI with `dispatch open <alias>` instead of the full session ID
44
-
-**Settings panel** (`,`) — 19 fields: Yolo Mode, Agent, Model, Launch Mode, Pane Direction, Terminal, Shell, Custom Command, Theme, Crash Recovery, Preview Position, Redact Secrets, Excluded Words, Auto Refresh, Notify On Waiting, and column toggles for Repo, Folder, Turns, and Host
44
+
-**Settings panel** (`,`) — 20 fields: Yolo Mode, Agent, Model, Launch Mode, Pane Direction, Terminal, Shell, Resume Session Command, New Session Command, Theme, Crash Recovery, Preview Position, Redact Secrets, Excluded Words, Auto Refresh, Notify On Waiting, and column toggles for Repo, Folder, Turns, and Host
45
45
-**Configurable list columns** (`,` settings) — choose which optional columns (repo, folder, turns, host) appear in the session list. Defaults show every column, and the session name and attention indicator are always visible
46
46
-**Shell picker** — auto-detects installed shells, modal picker when multiple available
47
47
-**5 built-in themes** — Dispatch Dark, Dispatch Light, Campbell, One Half Dark, One Half Light + custom via Windows Terminal JSON
@@ -677,7 +677,7 @@ Configuration is stored in the platform-specific config directory:
Set `DISPATCH_CONFIG` to an absolute file path to use a different config file, for example to keep separate work and personal profiles. `config path`, `config get`/`set`/`edit`, and `doctor` all follow the override. A relative or UNC value is ignored and the default location is used.
680
+
Set `DISPATCH_CONFIG` to an absolute file path to use a different config file, for example to keep separate work and personal profiles. `config path`, `config get`/`set`/`edit`/`export`/`import`, and `doctor` all follow the override. A relative or UNC value is ignored and the default location is used.
dispatch config validate # validate config.json before launching the TUI
695
695
dispatch config validate --json # machine-readable diagnostics for CI/scripts
696
696
dispatch config schema # print the JSON Schema for editor integration
697
+
dispatch config export --out dispatch-config.json
698
+
dispatch config import --in dispatch-config.json
697
699
```
698
700
699
-
`set` validates the value and writes through the same save path the TUI uses, so migrations and checks still run. `unset` resets one key to its default through that same save path. Unknown keys and invalid values exit non-zero with a clear message. The keys match the option names in the table below. Set `auto_refresh_seconds` to `default` to clear it back to unset. `edit` opens the file in `$VISUAL` or `$EDITOR` (falling back to a platform default) and re-checks it after you save, which is handy for list and map settings that `set` does not cover.
701
+
`set` validates the value and writes through the same save path the TUI uses, so migrations and checks still run. `unset` resets one key to its default through that same save path. `export` prints the full JSON config to stdout, or writes it to `--out <file>`. `import` reads JSON from stdin, or from `--in <file>`, then saves it through the normal config path. Unknown keys and invalid values exit non-zero with a clear message. The keys match the option names in the table below. Set `auto_refresh_seconds` to `default` to clear it back to unset. `edit` opens the file in `$VISUAL` or `$EDITOR` (falling back to a platform default) and re-checks it after you save, which is handy for list and map settings that `set` does not cover.
700
702
701
703
Use `dispatch config validate --path <file>` to check another config file without changing your active profile. The generated schema is published at [`docs/config.schema.json`](docs/config.schema.json); point your editor's JSON Schema integration at that file, or run `dispatch config schema` to emit the same schema from your installed binary.
702
704
@@ -721,7 +723,8 @@ Use `dispatch config validate --path <file>` to check another config file withou
721
723
|`model`| string |`""`| Pass `--model <name>` to Copilot CLI |
722
724
|`launch_mode`| string |`"tab"`| How to open sessions: `in-place`, `tab`, `window`, `pane`|
723
725
|`pane_direction`| string |`"auto"`| Split direction for pane mode: `auto`, `right`, `down`, `left`, `up` (see note below) |
724
-
|`custom_command`| string |`""`| Custom launch command (`{sessionId}` is replaced) |
726
+
|`resume_session_command`| string |`""`| Custom resume command (`{sessionId}` is replaced). Defaults to `copilot --resume`|
727
+
|`new_session_command`| string |`""`| Command to launch new sessions (`{cwd}` is replaced). Defaults to `copilot`|
725
728
|`excluded_dirs`| array |`[]`| Directory paths to hide from session list |
726
729
|`excluded_words`| array |`[]`| Comma-separated words; sessions containing any word are hidden |
727
730
|`attention_threshold`| string |`"15m"`| Duration after which an inactive running session is marked stale |
@@ -784,7 +787,8 @@ The split starts in the session's working directory (`-c`) and runs the resume c
784
787
"model": "",
785
788
"launch_mode": "tab",
786
789
"pane_direction": "auto",
787
-
"custom_command": "",
790
+
"resume_session_command": "",
791
+
"new_session_command": "",
788
792
"excluded_dirs": [],
789
793
"theme": "auto",
790
794
"workspace_recovery": true,
@@ -798,12 +802,20 @@ The split starts in the session's working directory (`-c`) and runs the resume c
798
802
}
799
803
```
800
804
801
-
### Custom Command
805
+
### Resume Session Command
802
806
803
-
Set `custom_command` to replace the default Copilot CLI launch entirely. Use `{sessionId}` as the placeholder. When set, Agent, Model, and Yolo Mode fields are ignored.
807
+
Set `resume_session_command` to replace the default Copilot CLI resume command. Use `{sessionId}` as the placeholder for the session to resume. When set, Agent, Model, and Yolo Mode fields are ignored.
Set `new_session_command` to customize the command used when launching a brand new session from dispatch (the `+` keybinding). Use `{cwd}` as the placeholder for the working directory. When empty, defaults to `copilot`.
local -a commands flags configsubs shells aliases configkeys openflags newflags
459
460
local bin=${words[1]}
460
461
commands=(help version open new doctor update completion stats search tags notes views aliases alias compare prune tag watch config export info path man)
461
-
configsubs=(list get set unset edit path)
462
+
configsubs=(list get set unset edit path export import)
0 commit comments