Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
112 commits
Select commit Hold shift + click to select a range
b44e3cd
feat(handoff): move a conversation to another agent in place
Adam-Dalloul Sep 6, 2026
400571d
feat(handoff): dialog, timeline divider and menu entries
Adam-Dalloul Sep 6, 2026
3637ee9
Fan MCP family saves into extra isolated homes
Adam-Dalloul Aug 15, 2026
4d6b65c
fix(mcp): sync isolated Claude server definitions and Gemini home
Adam-Dalloul Oct 11, 2026
de4a5ce
Add official Sign in for extra isolated family slots
Adam-Dalloul Aug 15, 2026
7a0103b
fix(accounts): isolate extra-account sign-in across desktop and web
Adam-Dalloul Oct 11, 2026
bf24a4d
fix(accounts): exclude the default home from isolated sign-in
Adam-Dalloul Oct 11, 2026
0473787
test: fix cross-platform sign-in lint checks
Adam-Dalloul Oct 11, 2026
7945227
Fan MCP family saves into extra isolated homes
Adam-Dalloul Aug 15, 2026
753b5d6
fix(mcp): sync isolated Claude server definitions and Gemini home
Adam-Dalloul Oct 11, 2026
a39dffe
Add official Sign in for extra isolated family slots
Adam-Dalloul Aug 15, 2026
2c95250
fix(accounts): isolate extra-account sign-in across desktop and web
Adam-Dalloul Oct 11, 2026
c028641
fix(accounts): exclude the default home from isolated sign-in
Adam-Dalloul Oct 11, 2026
44094cc
test: fix cross-platform sign-in lint checks
Adam-Dalloul Oct 11, 2026
5864ea1
feat(accounts): keep isolated accounts on native agent types
Adam-Dalloul Oct 11, 2026
8562eff
fix(accounts): scope Pi project trust and restart to its account
Adam-Dalloul Oct 11, 2026
af9a2cc
fix(ui): preserve agent picker width in the account layout
Adam-Dalloul Oct 11, 2026
1eaf12e
fix(accounts): remove Windows junctions and handle missing session rows
Adam-Dalloul Oct 11, 2026
575c394
feat(accounts): switch Claude conversations between accounts in place
Adam-Dalloul Oct 11, 2026
9ffc3f0
fix(accounts): require successful native restoration before switching
Adam-Dalloul Oct 11, 2026
21a2b64
fix(accounts): reject routing changes during a conversation switch
Adam-Dalloul Oct 11, 2026
9ee89cc
fix(accounts): retain tab ownership after switching accounts
Adam-Dalloul Oct 11, 2026
79f158d
fix(accounts): publish the switched conversation lifecycle binding
Adam-Dalloul Oct 11, 2026
cef21c9
fix(accounts): isolate OpenCode environment credentials
Adam-Dalloul Oct 11, 2026
90a1107
fix(accounts): wait for exiting agents and drop staging copies in swi…
xintaofei Oct 13, 2026
3487a82
fix(accounts): stop rewriting unchanged account config files
xintaofei Oct 13, 2026
6f4053d
fix(accounts): resume work tasks and chat sessions on their saved acc…
xintaofei Oct 13, 2026
08a3c02
fix(accounts): know a new conversation's account without its detail
xintaofei Oct 13, 2026
f17b365
fix(accounts): say when a conversation belongs to another agent
xintaofei Oct 13, 2026
8d5c8b7
fix(accounts): restore a removed account when its folder is added again
xintaofei Oct 13, 2026
b684cc0
fix(accounts): stop offering a switched conversation from the account…
xintaofei Oct 13, 2026
4b374a6
fix(accounts): share one account list across conversation tabs
xintaofei Oct 13, 2026
1ba73d2
fix(accounts): sign extra slots in like native accounts and point to …
xintaofei Oct 13, 2026
47915e5
Merge remote-tracking branch 'origin/main' into fix/quota-account-review
Adam-Dalloul Oct 13, 2026
d599163
feat(usage): show remaining quota for each saved agent account
Adam-Dalloul Oct 11, 2026
ea48397
fix(usage): follow account changes in child conversation headers
Adam-Dalloul Oct 11, 2026
e206eca
fix(usage): avoid a Default label when an account read fails
Adam-Dalloul Oct 11, 2026
30ae45c
fix(usage): preserve configured provider credential aliases
Adam-Dalloul Oct 11, 2026
0bc8754
test(usage): compare canonical account folders on Windows
Adam-Dalloul Oct 11, 2026
dd5783f
test(usage): keep credential tests after the module implementation
Adam-Dalloul Oct 11, 2026
0ae77f9
fix(accounts): keep chat identity and usage indicators consistent
Adam-Dalloul Oct 13, 2026
b718adf
fix(usage): clarify account limits and preserve switch preferences
Adam-Dalloul Oct 13, 2026
97b8b92
feat(accounts): select native accounts in agent mentions
Adam-Dalloul Oct 13, 2026
ffda641
fix(accounts): route and resume delegations on the selected account
Adam-Dalloul Oct 13, 2026
0af7341
Merge v0.36.0 into isolated MCP account sync
Adam-Dalloul Oct 16, 2026
c25d87c
Merge refreshed MCP account sync into isolated sign-in
Adam-Dalloul Oct 16, 2026
a385417
Merge v0.36.0 with native account storage and sign-in
Adam-Dalloul Oct 16, 2026
55a5706
fix(mcp): retain environments for system agent distributions
Adam-Dalloul Oct 16, 2026
90cbc78
Merge branch 'refresh/oct16-470' into refresh/oct16-471
Adam-Dalloul Oct 16, 2026
a818482
Merge branch 'refresh/oct16-471' into refresh/oct16-919
Adam-Dalloul Oct 16, 2026
1e16905
Merge v0.36.0 assistants with account selection and usage
Adam-Dalloul Oct 16, 2026
3cf3dcb
Merge branch 'refresh/oct16-919' into refresh/oct16-472
Adam-Dalloul Oct 16, 2026
7dbf866
Merge branch 'refresh/oct16-919' into refresh/oct16-472
Adam-Dalloul Oct 16, 2026
4b371cd
fix(accounts): reconcile account controls with updated agent settings
Adam-Dalloul Oct 16, 2026
bc05673
test(accounts): preserve account routing with assistant delegation
Adam-Dalloul Oct 16, 2026
86c087c
fix(accounts): register sign-in once and target its migration guard
Adam-Dalloul Oct 16, 2026
acaa8a7
Merge branch 'refresh/oct16-919' into refresh/oct16-472
Adam-Dalloul Oct 16, 2026
412f570
test(accounts): cover upgrades after newer release migrations
Adam-Dalloul Oct 16, 2026
868ae55
Merge branch 'refresh/oct16-919' into refresh/oct16-472
Adam-Dalloul Oct 16, 2026
2d79f6a
fix(accounts): date the account migration after v0.36.0's
xintaofei Oct 17, 2026
e20e937
fix(i18n): add the account strings without moving main's
xintaofei Oct 17, 2026
21cd032
fix(accounts): say in the user's language that an agent has no accounts
xintaofei Oct 17, 2026
af3ac23
fix(accounts): preserve tool settings and clarify supported profiles
Adam-Dalloul Oct 17, 2026
d1f95ed
Merge native account review fixes into remaining usage
Adam-Dalloul Oct 17, 2026
f128d1e
test(office): tolerate another process claiming a released port
Adam-Dalloul Oct 17, 2026
7ea07a6
Merge upstream agent and composer updates into PR 470
Adam-Dalloul Oct 17, 2026
40a1047
Merge upstream agent and composer updates into PR 471
Adam-Dalloul Oct 17, 2026
4029b08
Merge upstream agent and composer updates into PR 919
Adam-Dalloul Oct 17, 2026
28fca93
Merge upstream agent and composer updates into PR 472
Adam-Dalloul Oct 17, 2026
a21e107
fix(accounts): preserve remote sessions and account selector preferences
Adam-Dalloul Oct 17, 2026
34fb582
Merge upstream agent and composer updates into PR 472
Adam-Dalloul Oct 17, 2026
724be43
test(accounts): acknowledge disconnect in remote-control fixture
Adam-Dalloul Oct 17, 2026
17371f6
Merge upstream agent and composer updates into PR 472
Adam-Dalloul Oct 17, 2026
7a69abe
test(acp): report handshake transport closure after connection exits
Adam-Dalloul Oct 17, 2026
b0c890e
Merge upstream agent and composer updates into PR 472
Adam-Dalloul Oct 17, 2026
6852ec0
fix(chat): keep Remote Control actions reachable on narrow screens
Adam-Dalloul Oct 17, 2026
364a072
Merge upstream agent and composer updates into PR 472
Adam-Dalloul Oct 17, 2026
d25b643
feat: guide native account sign-in and API key setup
Adam-Dalloul Oct 17, 2026
4acee45
Merge guided native account setup into account usage
Adam-Dalloul Oct 17, 2026
5c3f142
fix(usage): refresh quota after native account authentication changes
Adam-Dalloul Oct 17, 2026
84b636f
Improve account setup focus and phone controls
Adam-Dalloul Oct 17, 2026
4ccacfe
Merge account setup accessibility refinements
Adam-Dalloul Oct 17, 2026
028c465
feat(handoff): preserve context across account and agent switches
Adam-Dalloul Oct 17, 2026
d2d6175
fix(handoff): verify history identities and guarded rollback
Adam-Dalloul Oct 17, 2026
bdfb291
fix(accounts): preserve native task state and requested models
Adam-Dalloul Oct 17, 2026
08e4336
fix(handoff): start from the conversation account
Adam-Dalloul Oct 17, 2026
f41c053
Merge native task and model preservation into quota account support
Adam-Dalloul Oct 17, 2026
73e334f
Merge native context safeguards into agent handoff
Adam-Dalloul Oct 17, 2026
d04330c
Merge refreshed account and quota stack
Adam-Dalloul Oct 17, 2026
ab1b6d2
fix(accounts): allow explicit switching after a viewer reattach
Adam-Dalloul Oct 17, 2026
90479ed
fix(accounts): allow explicit switching after a viewer reattach
Adam-Dalloul Oct 17, 2026
c127780
style(accounts): align switch readiness condition
Adam-Dalloul Oct 17, 2026
9268bc4
fix(accounts): align saved account picker state
Adam-Dalloul Oct 17, 2026
afd3b24
Merge explicit account switching after refresh
Adam-Dalloul Oct 17, 2026
d6f6270
Align native account picker state
Adam-Dalloul Oct 17, 2026
a7c7452
Merge account picker refresh fixes
Adam-Dalloul Oct 17, 2026
1aabb02
fix(handoff): keep phone dialog actions in view
Adam-Dalloul Oct 17, 2026
f2eaa92
fix(accounts): carry picker loading and retry states
Adam-Dalloul Oct 17, 2026
29836fe
Merge native account picker parity
Adam-Dalloul Oct 17, 2026
4ff3b35
style(i18n): align native account message order
Adam-Dalloul Oct 17, 2026
043b595
fix(i18n): keep one account loading message
Adam-Dalloul Oct 17, 2026
8986706
Merge native picker loading and retry support
Adam-Dalloul Oct 17, 2026
7c4a3e0
Align native picker messages
Adam-Dalloul Oct 17, 2026
93ff65c
Merge final account message alignment
Adam-Dalloul Oct 17, 2026
03908cf
fix(handoff): keep header actions bound to the selected chat
Adam-Dalloul Oct 17, 2026
1ca5388
Merge v0.38.0 into native agent accounts
Adam-Dalloul Oct 18, 2026
57ba412
Merge v0.38.0 account integration into quota
Adam-Dalloul Oct 18, 2026
c90135b
Merge v0.38.0 account integration into handoff
Adam-Dalloul Oct 18, 2026
c2fd43a
test(accounts): retain ownership when CLI resumes a named account
Adam-Dalloul Oct 18, 2026
598237e
Merge v0.38.0 account integration into handoff
Adam-Dalloul Oct 18, 2026
2eb82d1
test(sidebar): open keyboard navigation fixtures without hover timers
Adam-Dalloul Oct 18, 2026
8a1e9a5
Merge v0.38.0 account integration into handoff
Adam-Dalloul Oct 18, 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
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -256,6 +256,7 @@ An editor, live and side-by-side diffs, a full git client with a three-pane merg
- **[Repository Panel](https://docs.codeg.app/guide/repository)** — issues, pull requests, checks, and merges for GitHub, GitLab, Gitea, and Forgejo; any issue or PR can become a to-do
- **[Automations](https://docs.codeg.app/guide/automations)** — save a configured composer and run it headlessly, on a cron schedule or on demand
- **[Token Usage](https://docs.codeg.app/guide/token-usage)** — trends, cache hit rate, an activity heatmap, usage by folder, agent, model, and session, and what it would cost at API list prices
- **[Agent Accounts](docs/agent-accounts.md)**: named accounts on built-in agents, with separate sign-ins and conversation history. See the guide for platform support and backup limits.
- **[Fork & Steer](https://docs.codeg.app/guide/workspace#follow-along-%E2%80%94-the-conversation)** — fork a conversation from a finished reply, or send a message into a turn that is still running, on agents that support it
- **[Skills](https://docs.codeg.app/guide/skills) & [MCP](https://docs.codeg.app/guide/mcp)** — skill packs per agent, a local MCP scan, and registry search and install
- **[Project Boot](https://docs.codeg.app/guide/project-boot)** — scaffold a new project visually, with a live preview
Expand Down
101 changes: 101 additions & 0 deletions docs/agent-accounts.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
# Agent accounts

Use **Settings > Agents > Accounts** to add a named account to a built-in agent.
Each account has its own folder and official sign-in. **Default** uses the
agent's existing account. Adding a named account keeps the built-in agent's
controls and conversation history.

You can also choose **Add account** or **Manage accounts** beside a chat's
account picker. Setup opens in the chat, so your draft stays in place.

Choose **Add account**, give it a name, and choose a connection method. Claude
Code and Codex offer account sign-in or an API key. API usage is billed
separately from subscriptions. Other supported agents use their own setup;
Antigravity offers its personal and business sign-in flows.

Choose **Continue** to save the account and start setup. Desktop opens the
agent's official sign-in. In the web interface, copy the displayed command and
run it on the computer hosting Codeg. **Check sign-in** checks Claude Code or
Codex after you finish. Opening sign-in does not mean it has completed.
Then choose the named account in a chat's account menu.

Use **Set up** to reconnect an existing account or change its connection
method. Close its chats before replacing an API key or changing Claude to
account sign-in. The connection settings below the Accounts card configure
**Default**; each named account keeps its own connection settings.

To reuse an account folder, expand **Advanced: use an existing account folder** while
adding an account. This keeps its existing sign-in and history. Removing an
account keeps its folder and history. Add the same folder again to restore
the account binding.

## Supported agents

Named accounts are available for Claude Code, Codex, Gemini, OpenCode, Grok,
Hermes, CodeBuddy, Cline, Kimi Code, Pi, DeepSeek, Qoder and Antigravity. Cursor
supports named accounts on Windows and Linux; use Default on macOS. Kiro,
ZCode, TRAE CLI and Command Code do not yet support named accounts. OpenClaw
uses its configured gateway's account.

OpenCode and Cursor keep the usual home folder and GitHub CLI configuration.
Other command-line tools that use their separate configuration folders may
need their own configuration or sign-in in each account. Codeg does not copy
their credentials from Default.

## Conversation accounts

A conversation keeps the account selected when it was created. Reopening or
resuming it uses that account. A missing or removed account never silently
falls back to Default.

Claude Code conversations can switch accounts from their account picker when
no turn or background task is running. The conversation and transcript are
retained. The current model and mode carry over unless the target account has
its own saved choices. Turn off Claude Remote Control before switching accounts.
An unavailable requested model cancels the switch. The selected account's own
settings, permissions and project memory apply.

Session task lists and legacy todos move with a native Claude session, including
updates and deletions. Replaced task files remain in the target account's
`.codeg-account-switch/` recovery folder. A custom task-list id can be shared
with other sessions, so native switching refuses it instead of replacing the
shared list.

For another supported agent, choosing an account opens **Continue this
conversation**. Confirm the account to start a new native session with the saved
conversation available as context. The chat, draft, title, pin and tags remain
in place.

## Continue with another agent

Choose **Switch agent or account** in the composer or conversation menu. Select
an installed agent and an account, optionally add a note, then choose **Switch**.
The dialog identifies whether the selected agent resumes the native Claude
session or starts a new session with portable context.

Portable context keeps the complete conversation saved by Codeg, including its
tool records and embedded images. Long histories stay available in pages through
a read-only context tool, rather than being shortened into a digest. Agents
that do not accept MCP servers use the local transcript. OpenClaw gateway
handoffs are not supported. Account sign-ins and credentials are never copied.

Different agents have different tools, instructions and context limits. A
portable handoff does not transfer another provider's private session state.
The original agent's files remain intact, and the earlier conversation stays
visible in the same chat. If the new agent's first prompt fails, Codeg keeps the
context ready for the next send.

## Backups and moving computers

A Codeg backup includes account names, their folder paths and conversation
bindings, including saved handoff context. **Include conversation content** includes transcripts from the CLI
default folders. It does not include named-account folders, their transcripts,
or their sign-ins. Back up named-account folders separately before deleting
data or moving to another computer.

Restoring a Codeg backup keeps the saved account paths. Restore the separate
folders to those paths to reopen their conversations, and sign in again if the
agent requires it. A missing folder produces an error instead of starting a
different account. Keep the original folders until you have verified the
restored history. Account folders can contain credentials, so protect those
separate backups accordingly.
3 changes: 1 addition & 2 deletions src-tauri/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -179,7 +179,7 @@ ignore = "0.4"
# RFDs. (`unstable_end_turn_token_usage` stays off: codeg's token accounting
# reads the agents' own transcripts, not the prompt response's `usage`.)
agent-client-protocol = { version = "2.2.0", features = ["unstable_session_fork", "unstable_session_notices", "unstable_session_compaction"] }
tokio = { version = "1", features = ["process", "io-util", "sync", "macros", "rt", "net", "rt-multi-thread"] }
tokio = { version = "1", features = ["process", "io-util", "io-std", "sync", "macros", "rt", "net", "rt-multi-thread"] }
uuid = { version = "1", features = ["v4"] }
# Version-5 UUIDs (browser profile data-store identifiers) by hand: uuid's
# own `v5` feature would pull a second SHA-1 crate next to this one.
Expand Down Expand Up @@ -346,4 +346,3 @@ temp-env = { version = "0.3", features = ["async_closure"] }
tokio = { version = "1", features = ["test-util", "macros", "rt", "sync", "time"] }
insta = { version = "1", features = ["json", "redactions"] }
axum-test = { version = "17", features = ["ws"] }

Loading
Loading