Skip to content

fix(native-chat): list an idle Claude chat's / commands from the account it will start on - #34429

Merged
AmoabaKelvin merged 3 commits into
mainfrom
sta-11298-claude-at-rest-commands-account
Oct 27, 2026
Merged

AmoabaKelvin merged 3 commits into
mainfrom
sta-11298-claude-at-rest-commands-account

Conversation

@AmoabaKelvin

@AmoabaKelvin AmoabaKelvin commented Oct 27, 2026 •

Copy link
Copy Markdown
Collaborator
Files Added Deleted Net
Test 1 $\color{#1a7f37}{\Huge{\mathbf{+}}}$​41 $\color{#cf222e}{\Huge{\mathbf{−}}}$​1 $\color{#1a7f37}{\Huge{\mathbf{+}}}$​40
Prod 5 $\color{#1a7f37}{\Huge{\mathbf{+}}}$​27 $\color{#cf222e}{\Huge{\mathbf{−}}}$​5 $\color{#1a7f37}{\Huge{\mathbf{+}}}$​22

After you switch Orca's Claude account, an idle Claude chat's / menu now lists the new account's commands and skills. It used to keep listing the ones from the account the chat was created on, even though the chat's next message starts Claude on the new account.

The resting-chat list was read from the account saved on the chat record. Now the shared at-rest catalog can take the account a start would use right now. Claude passes the runtime's resolveStructuredAgentAccountHome('claude'), the same resolver new chats are created with and the model catalog uses for reads without a chat. Its cache key drops the per-chat account, so chats created on different accounts share one probe. A change to the Claude account selection settings clears the catalogs, so open chats republish their menu.

  • A running chat still shows the list its agent reports.
  • Codex is unchanged because its chats still launch on the saved account.
  • The catalog runs on the chat's host, so this covers SSH hosts with their own accounts and WSL hosts that get the desktop's account env (that push already cleared the catalogs). Phones read the same host list.
  • Open chats move to the account you switch to, before their next message #30955 lists this as the follow-up (STA-11298). It doesn't depend on that PR.

Linear: STA-11298

Before: switched to B, menu still lists A's skill After: switched to B, menu lists B's skill
before after

Captured from a hidden dev build with two test Claude accounts in an isolated profile. The list came from the real Claude probe. Switching back to A brings A's skill back.

…count it will start on

A resting chat's next start follows the selected Claude account, but its / menu was read from the account saved when the chat was created. Read it from the same account a new chat would be created on, and rescan when the selection changes.
@coderabbitai

coderabbitai Bot commented Oct 27, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

Warning

Review limit reached

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Next included review available in 14 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used all 10 included reviews currently available.

Learn how review limits work.

Review configuration:

Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Repository UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 98687b15-ca14-453f-b9b4-1da4c4a1e761
Commits

Reviewing files that changed from the base of the PR and between 2012839 and 9dbc735.

Files selected for processing: 1
  • src/main/claude/claude-structured-session-commands.test.ts
Walkthrough

The Claude runtime now passes an optional account-home resolver to the at-rest command catalog. When configured, the catalog resolves the account home before scanning and uses a different cache key; otherwise, it uses the saved account home. Changes to Claude managed-account selection settings now retire at-rest command context. A test covers command resolution after the selected account changes.

Priority: Normal

Merge Risk: Moderate · previous review 20128

The change makes an idle Claude chat's slash commands follow the selected account. The new test does not typecheck as written and needs a small fix before merge; the runtime change itself looks sound.

Pre-merge checks: Passed 4 · Failed 1

Failed Failed checks: 1 warning

Check name Status Explanation Resolution
Docstring Coverage Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Documentation-only edits and deletions within survi… Write docstrings for the functions missing them to satisfy the coverage threshold.
Passed Passed checks: 4 passed
Check name Status Explanation
Title check Passed The title clearly and concisely describes the primary change: idle Claude chats now list commands from the account they will start on.
Description check Passed The description clearly explains the user impact, implementation, scope, compatibility considerations, and visual before/after evidence. It does not follow the template headings and does not include t…
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Full details: Description check

Explanation

The description clearly explains the user impact, implementation, scope, compatibility considerations, and visual before/after evidence. It does not follow the template headings and does not include the required Testing, AI Disclosure, Review, Notes, Agent skill upstream boundary, or Checklist sections. The issue reference is also not formatted as an explicit linked issue or Fixes reference.

Full details: Docstring Coverage

Explanation

Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Documentation-only edits and deletions within surviving functions are included; unchanged diff context and fully deleted functions are excluded. Analyzed 2 functions across 6 files.

Resolution

Write docstrings for the functions missing them to satisfy the coverage threshold.

Finishing Touches: 💡 1
📝 Generate docstrings: 💡
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1


Review info
Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Repository UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: f34a2889-8c21-4ffb-8595-83081c9e101d
Commits

Reviewing files that changed from the base of the PR and between f61e7f8 and 2012839.

Files selected for processing: 6
  • src/main/claude/claude-at-rest-commands.ts
  • src/main/claude/claude-structured-session-commands.test.ts
  • src/main/native-chat/agent-session-wire/at-rest-command-catalog.ts
  • src/main/native-chat/agent-session-wire/at-rest-command-context.ts
  • src/main/runtime/structured-agent-runtime-registrations.ts
  • src/main/runtime/structured-claude-runtime-adapter.ts

Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 0 remain after this review.

@AmoabaKelvin
AmoabaKelvin merged commit cb511d7 into main Oct 27, 2026
43 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant