Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
51 commits
Select commit Hold shift + click to select a range
8e8a223
Add the design for choosing a vendor account at launch
alexeyzimarev Oct 21, 2026
c3bbca9
Gate account launches per hop and resolve the account before start
alexeyzimarev Oct 21, 2026
95b2b0a
Hold Start until an account-capable target's snapshot has restored
alexeyzimarev Oct 21, 2026
3f45db8
Keep a chosen account through support loss and key directories on the…
alexeyzimarev Oct 21, 2026
c298ad5
Retry a failed daemon listing while account support is unknown
alexeyzimarev Oct 21, 2026
a72802a
Carry the account on kcap agent start (#1806)
alexeyzimarev Oct 22, 2026
00a067e
Plan the daemon and CLI half of account launches (#1806)
alexeyzimarev Oct 22, 2026
f224a35
Add host-computed directory keys for accounts (#1806)
alexeyzimarev Oct 22, 2026
59f8251
Resolve a launch to an account directory before it starts (#1806)
alexeyzimarev Oct 22, 2026
bcf9161
Refuse a resumed account id instead of replacing it with the default …
alexeyzimarev Oct 22, 2026
28fc04d
Carry an account on the launch, status and resume contracts (#1806)
alexeyzimarev Oct 22, 2026
a198de3
Build the accounts snapshot from the registry and daemon defaults (#1…
alexeyzimarev Oct 22, 2026
fe0b1f9
Commit a registry revision after every accounts verb and add --json (…
alexeyzimarev Oct 22, 2026
7a9ad87
Commit a failed accounts remove as a revision with the failure record…
alexeyzimarev Oct 22, 2026
09163db
Publish the host's accounts over the local socket (#1806)
alexeyzimarev Oct 22, 2026
6f3ebc7
Keep the accounts publisher alive through subscriber and read failure…
alexeyzimarev Oct 22, 2026
97ce15d
Resolve or refuse the account before a launch starts (#1806)
alexeyzimarev Oct 22, 2026
43af815
Give the Claude launcher its layout per launch (#1806)
alexeyzimarev Oct 22, 2026
738afb8
Give the Codex launcher and app-server its layout per launch (#1806)
alexeyzimarev Oct 22, 2026
c209271
Plan the per-account transcript discovery the launch needs (#1806)
alexeyzimarev Oct 22, 2026
4b42c29
Find an account launch's transcript under its own directory (#1806)
alexeyzimarev Oct 22, 2026
753e590
Remove or set the vendor home in every spawned agent's environment (#…
alexeyzimarev Oct 22, 2026
1af6031
Resume an agent under the account it was launched with (#1806)
alexeyzimarev Oct 22, 2026
2a24039
Interrupt a sessionless resume whose account is unavailable (#1806)
alexeyzimarev Oct 22, 2026
0e8efe7
Report each agent's account in status and registration (#1806)
alexeyzimarev Oct 22, 2026
5dc0d97
Probe and advertise the Codex catalog per account (#1806)
alexeyzimarev Oct 22, 2026
bf081ff
Record an added account's catalog files before probing them (#1806)
alexeyzimarev Oct 22, 2026
6fb33b7
Announce the accounts snapshot the publisher builds at start (#1806)
alexeyzimarev Oct 22, 2026
93af7d4
Publish the accounts snapshot to the server behind its capability (#1…
alexeyzimarev Oct 22, 2026
35bd327
Send the accounts snapshot that changed during registration (#1806)
alexeyzimarev Oct 22, 2026
e134233
Choose the account on kcap agent start (#1806)
alexeyzimarev Oct 22, 2026
b28b69d
Carry the account fields in the golden daemon-connect fixture (#1806)
alexeyzimarev Oct 22, 2026
220a0a5
Name the checked directory and accounts add in the Codex hooks refusa…
alexeyzimarev Oct 22, 2026
fb5d3c9
Refuse an account id for a vendor that has no accounts (#1806)
alexeyzimarev Oct 22, 2026
f80c190
Skip a registry entry that is not a path when resolving the default (…
alexeyzimarev Oct 22, 2026
6ab102c
Keep the accounts publisher polling after a tick fails unexpectedly (…
alexeyzimarev Oct 22, 2026
4594757
Rewrite stale and historical comments on code the branch touched (#1806)
alexeyzimarev Oct 22, 2026
b63baa3
Read the launched account from the status snapshot in the live check …
alexeyzimarev Oct 22, 2026
6b3afe3
Merge origin/main into capacitor/agent-c32568ac39a64e
alexeyzimarev Oct 22, 2026
d2d7fa4
Merge origin/main into capacitor/agent-c32568ac39a64e
alexeyzimarev Oct 23, 2026
092a8eb
Expect working_since ahead of the account fields in status JSON tests…
alexeyzimarev Oct 23, 2026
23f04d2
Refuse an account id on a review launch (#1806)
alexeyzimarev Oct 23, 2026
77377e8
Treat --title= and --account= as flags when the other needs a value (…
alexeyzimarev Oct 23, 2026
3af7c86
Report a conflict when an account is removed during its wiring (#1806)
alexeyzimarev Oct 23, 2026
0d2df59
Quote the directory in the Codex hooks refusal remedy (#1806)
alexeyzimarev Oct 23, 2026
0328b14
State compatibility constraints without naming older daemons (#1806)
alexeyzimarev Oct 23, 2026
13bb89e
Record the physical directory a launch resolves to (#1806)
alexeyzimarev Oct 23, 2026
163e554
Merge origin/main into capacitor/agent-c32568ac39a64e
alexeyzimarev Oct 24, 2026
ab64a47
Merge origin/main into capacitor/agent-c32568ac39a64e
alexeyzimarev Oct 24, 2026
70e5c65
Merge origin/main into capacitor/agent-c32568ac39a64e
alexeyzimarev Oct 24, 2026
1f10f83
Guard the vendor CLI watcher's baselines against overlapping ticks (#…
alexeyzimarev Oct 24, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 6 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2333,11 +2333,13 @@ kcap agent start claude -- --model opus # everything after `--` is passed
kcap agent start codex --worktree -- -m gpt-5 # run in an isolated git worktree instead of in place
kcap agent start claude -d # start without attaching; prints the agent id
kcap agent start claude --title "Fix login" -- "fix the login redirect" # name the session
kcap agent start claude --account ~/.claude-work # run under a registered account (id prefix or directory)
```

- **`--` boundary:** flags before `--` are kcap's; everything after `--` is forwarded to the `claude`/`codex` CLI unchanged. kcap flags: `--worktree`, `--private`, `--title <text>`, `--daemon <name>`, `-d`/`--detach`.
- **`--` boundary:** flags before `--` are kcap's; everything after `--` is forwarded to the `claude`/`codex` CLI unchanged. kcap flags: `--worktree`, `--private`, `--title <text>`, `--account <id|dir>`, `--daemon <name>`, `-d`/`--detach`.
- **Visibility:** by default the agent is **registered with the server**, so it appears in your own web UI immediately and you can drive it from the browser — start in the terminal, continue from anywhere. It is **visible only to you** until you share it. Pass `--private` to keep it purely local: unregistered, not streamed to the server, and not shown in the web UI.
- **Session title:** `--title <text>` (or `--title=<text>`) names the agent's session, and that name sticks until it is renamed. Without it, the session starts titled after the prompt — the last argument after `--`, when neither it nor the argument before it is a flag — and a generated title replaces that once one lands. `--private` agents are never registered, so a title has no effect on them.
- **Account:** `--account <id|dir>` (or `--account=<id|dir>`) runs a Claude or Codex agent under one of your [accounts](#accounts): an id prefix of at least 4 characters, or the account's directory (`~` is expanded). kcap refuses and starts nothing when the value matches no account of that vendor, when a prefix matches more than one, or when the daemon is too old to choose an account. Without the flag the agent uses the vendor's default configuration directory, as before.
- **Work location:** by default the agent runs **in place in your current directory** (it edits your real files). Pass `--worktree` to run in a throwaway git worktree instead.

- **What a worktree deliberately does NOT inherit:** an agent worktree is a checkout of whatever branch is
Expand Down Expand Up @@ -2447,7 +2449,9 @@ kcap accounts rewire [<id|dir>] # reinstall recording into one or
kcap accounts remove <id|dir> # remove kcap's recording and forget the account
```

`<id|dir>` is an account id prefix (at least 4 characters) or its directory. `kcap setup` offers the directories it discovers in your home folder. `remove` leaves the directory and its login untouched. Codex asks you to trust the kcap hooks once per home, the next time you start it with that `CODEX_HOME`. For a Codex account, `add` and `rewire` also enable Codex sandbox network access for your server(s), as `kcap plugin install --codex` does; pass `--skip-codex-network-access` to leave that home's `config.toml` network keys untouched.
`<id|dir>` is an account id prefix (at least 4 characters) or its directory. `kcap agent start <claude|codex> --account <id|dir>` starts a [local agent](#local-agents-kcap-agent) under one. `kcap setup` offers the directories it discovers in your home folder. `remove` leaves the directory and its login untouched. Codex asks you to trust the kcap hooks once per home, the next time you start it with that `CODEX_HOME`. For a Codex account, `add` and `rewire` also enable Codex sandbox network access for your server(s), as `kcap plugin install --codex` does; pass `--skip-codex-network-access` to leave that home's `config.toml` network keys untouched.

`add`, `remove`, `rename` and `rewire` accept `--json`: stdout then carries exactly one JSON line (`action`, `account_id`, `succeeded`, `steps` with `name`/`succeeded`/`detail`, `revision`, `error`) and errors still go to stderr. `revision` is the account registry revision the command committed after its wiring attempt (`null` when it committed nothing), so a reader that sees a snapshot at or past it knows the snapshot follows that attempt. `add` and `rewire` commit one even when wiring finds nothing to change, and an `add` whose wiring fails still registers the account and records the failure. A `remove` that cannot unwire leaves the account registered, records the failure on it and commits a revision too, since it may have unwired part of the account. The exit code is 0 only when `succeeded` is true. `list` ignores the flag.

### Profiles

Expand Down
Loading
Loading