feat(pool): an admin's switch moves a user's Claude login at once
PUT /api/accounts/pins (and agenthub accounts pin) now writes a pinned Claude login into the user's home right away (claude-pool.switchHome): every home's newer pair is copied back first, the member's own login is never written over, and no pane is restarted — running sessions take the new pair at their next credentials read. A live home stays on the login it holds, so unpinning does not flip it back. The Users page calls it "Switch a user's account" and says what happened.
This commit is contained in:
@@ -731,7 +731,7 @@ const paths = {
|
||||
tags: ["Auth"],
|
||||
operationId: "pinPoolAccount",
|
||||
summary:
|
||||
"Admin: pin one user's new sessions of a tool to one pool account (`account: null` unpins), with their own password again",
|
||||
"Admin: switch one user's sessions of a tool to one pool account (`account: null` = automatic), with their own password again. A Claude login is written into their home at once; running panes take it without a restart",
|
||||
requestBody: {
|
||||
required: true,
|
||||
content: {
|
||||
@@ -750,7 +750,10 @@ const paths = {
|
||||
},
|
||||
},
|
||||
responses: {
|
||||
200: { description: "`{pin: {userId, username, account}}` — `account` null when unpinned" },
|
||||
200: {
|
||||
description:
|
||||
"`{pin: {userId, username, account}, switched}` — `account` null when unpinned; `switched`: switched | kept | own-login | expired | next-session | null",
|
||||
},
|
||||
400: err("EBADTOOL"),
|
||||
403: err("EREAUTH — wrong password; EADMIN — not an admin; ELOCALMODE"),
|
||||
404: err("ENOUSER, ENOACCOUNT"),
|
||||
|
||||
Reference in New Issue
Block a user