Edit an agent workspace
Replace a workspace with scratch or a Git repository, or edit its repository, branch, working directory, and read/write access. Who vouches for the repository is derived from the address: a github.com repository covered by an App installation or a managed GitLab project earns managed credentials, a public repository on either host is cloned anonymously (read-only), and any other Git host is cloned anonymously with no preflight. A repository whose owner is covered but which the installation does not grant is refused, since an anonymous clone cannot serve it. An unstated access tier takes the highest the target can carry: write where credentials are minted for it, read for an anonymous checkout. Changing workspace type, repository, or branch discards daemon-local workspace files. The caller must hold the requested host permission. Active work is drained and repository credentials are invalidated before success. Enabled GitHub review or Check actions reject edits that remove their required write authority.
Authorization
bearerAuth In: header
Path Parameters
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X PUT "https://example.com/v1/orgs/string/agents/string/workspace" \ -H "Content-Type: application/json" \ -d '{ "mode": "scratch" }'{ "id": "string", "orgId": "string", "name": "string", "displayName": "string", "builtin": true, "icon": { "kind": "runtime" }, "iconUrl": "string", "description": "string", "runtime": "string", "model": "string", "reasoningEffort": "string", "outputMode": "string", "showFooter": true, "showStatusBar": true, "fastMode": true, "permissionMode": "string", "allowRuntimeChangesInChat": true, "pause": true, "env": { "property1": "string", "property2": "string" }, "secretKeys": [ "string" ], "organizationVariables": [ { "key": "string", "value": "string" } ], "organizationSecretKeys": [ "string" ], "mcpServers": [ "string" ], "skills": [ "string" ], "managedSkills": [ "c4df27e1-6f4c-41ef-86f9-baccc4a06930" ], "decisionIds": [ "e744da2d-8f5c-4e11-a126-0c6194d4b80a" ], "modelSelection": { "decisionId": "caa985ad-f12f-4ef1-943f-c1812738ec7a", "rules": [ { "runtime": "string", "model": "string", "effort": "string", "permissionMode": "string", "fastMode": true, "when": { "type": "choice", "thresholds": { "property1": 0, "property2": 0 } } } ], "steps": [ { "decisionId": "caa985ad-f12f-4ef1-943f-c1812738ec7a", "rules": [ { "runtime": "string", "model": "string", "effort": "string", "permissionMode": "string", "fastMode": true, "when": { "type": "choice", "thresholds": { "property1": 0, "property2": 0 } } } ], "id": "string" } ] }, "repositorySelector": { "providerId": "string", "model": "string" }, "memory": { "provider": "managed", "autoDistill": true, "dreaming": { "enabled": true, "sessionWindow": 1, "schedule": "string", "timezone": "string", "instructions": "string", "mineSkills": true, "autoAdopt": true }, "scope": "agent", "home": "daemon", "homeMigration": "pending" }, "status": "string", "placementKind": "daemon", "daemonId": "string", "daemonName": "string", "setId": "string", "placementReady": true, "holderDaemonId": "string", "workspace": { "mode": "scratch" }, "workspaceRepoId": "string", "capabilities": [ "string" ], "createdAt": "string", "createdBy": "string", "lastModifiedAt": "string", "lastModifiedBy": "string", "visibility": "org", "sharedWith": [ "string" ], "canEdit": true, "canManageSharing": true, "callPolicy": "all", "allowedCallerAgentIds": [ "string" ], "outboundPolicy": "all", "allowedTargetAgentIds": [ "string" ], "introduceOnJoin": true, "runInSandbox": true, "execution": "string", "strategies": { "property1": { "available": true }, "property2": { "available": true } }, "sandboxSupported": true, "sandboxRequired": true, "sandboxUnavailable": "string", "hookKinds": [ "webhook" ]}