Skip to main content
Glama

update_surface

Move or rename a surface, or adopt_session to rebind an existing managed Claude or Codex identity after a restart using pinned historical evidence and fresh process/topology proof.

Instructions

Move or rename a surface, or adopt_session to rebind an existing managed Claude or Codex identity after a restart using pinned historical evidence and fresh process/topology proof. Adoption changes no pane or input; layout reconciliation follows separately.

Input Schema

NameRequiredDescriptionDefault
cwdNo
paneNo
roleNo
afterNo
focusNo
indexNo
modelNo
titleNo
actionYes
beforeNo
surfaceYes
authorityNo
placementNo
workspaceNo
launch_cwdNo
session_idNo
collab_pathNo
parent_agent_idNo
preserve_prefixNo
managed_agent_idNo
observer_transitionNo
binding_evidence_pathNo
expected_agent_versionNo
binding_evidence_sha256No

Output Schema

NameRequiredDescriptionDefault
okYes
paneNo
titleNo
actionNo
surfaceNo
workspaceNo
retry_countYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed16 schema fields changedv0.4.106
    • changedInput schema / properties / action / enum
      Previous value: -[
      -  "move",
      -  "rename"
      -]New value: +[
      +  "move",
      +  "rename",
      +  "adopt_session"
      +]
    • addedInput schema / properties / authority
      Added value: +{
      +  "not": {}
      +}
    • addedInput schema / properties / binding_evidence_path
      Added value: +{
      +  "type": "string"
      +}
    • addedInput schema / properties / binding_evidence_sha256
      Added value: +{
      +  "pattern": "^[a-f0-9]{64}$",
      +  "type": "string"
      +}
    • addedInput schema / properties / collab_path
      Added value: +{
      +  "not": {}
      +}
    • addedInput schema / properties / cwd
      Added value: +{
      +  "not": {}
      +}
    • addedInput schema / properties / expected_agent_version
      Added value: +{
      +  "minimum": 0,
      +  "type": "integer"
      +}
    • addedInput schema / properties / launch_cwd
      Added value: +{
      +  "not": {}
      +}
    • addedInput schema / properties / managed_agent_id
      Added value: +{
      +  "minLength": 1,
      +  "type": "string"
      +}
    • addedInput schema / properties / model
      Added value: +{
      +  "not": {}
      +}
    • addedInput schema / properties / observer_transition
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "current_owner_id": {
      +      "minLength": 1,
      +      "type": "string"
      +    },
      +    "historical_owner_id": {
      +      "minLength": 1,
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "historical_owner_id",
      +    "current_owner_id"
      +  ],
      +  "type": "object"
      +}
    • addedInput schema / properties / parent_agent_id
      Added value: +{
      +  "not": {}
      +}
    • addedInput schema / properties / placement
      Added value: +{
      +  "not": {}
      +}
    • addedInput schema / properties / role
      Added value: +{
      +  "not": {}
      +}
    • addedInput schema / properties / session_id
      Added value: +{
      +  "minLength": 1,
      +  "type": "string"
      +}
    • changedOutput schema / properties / action / enum
      Previous value: -[
      -  "move",
      -  "rename"
      -]New value: +[
      +  "move",
      +  "rename",
      +  "adopt_session"
      +]
  2. Addedv0.4.88

TDQS

B3.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare the safety profile (not read-only, not destructive, not idempotent), so the bar is lower. The description still adds non-obvious behavior: adoption rebinds an identity without touching pane or input, requires pinned historical evidence plus fresh process/topology proof, and defers layout reconciliation to a separate step.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two dense but front-loaded sentences with essentially no filler; the primary actions lead and the adoption nuances follow. It is appropriately sized given the tool's complexity, though the second sentence's phrasing is slightly convoluted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists so return values need no explanation, and the adopt_session path is reasonably described. But for a 24-parameter tool with zero schema descriptions and three enum actions, the move/rename paths and most parameter semantics are unexplained, leaving real gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 24 parameters, so the description must carry the burden and does not. It hints at the evidence/observer concepts (binding evidence, historical owner) but never explains surface, pane, index, before/after, preserve_prefix, workspace, or the observer_transition object, leaving most inputs opaque.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names three concrete actions (move, rename, adopt_session) against the 'surface' resource, so the agent knows what operation family it is entering. It is distinguishable from siblings like close_surface and list_surfaces by the mutate/rebind framing, though it never explicitly contrasts with them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives a real usage condition for adopt_session ('after a restart ... using pinned historical evidence and fresh process/topology proof') and notes that layout reconciliation happens separately. However, move and rename receive no when-to-use guidance, and there are no exclusions or sibling routing hints.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.