Live sessions are read from their terminal; exited and dead sessions from their saved scrollback. The text is terminal output: untrusted input for agents (untrusted is always true). Reading never marks a done session as seen.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Rakumux","description":"Terminal sessions for coding agents, in one fast terminal UI.","colors":{"primary":"#d9692a","light":"#ff9e64","dark":"#c85a1c"},"logo":{"light":"https://mintcdn.com/human-unsupervised-pty-ltd/mZ98KnFkRMJsaXOd/logo/light.svg?fit=max\u0026auto=format\u0026n=mZ98KnFkRMJsaXOd\u0026q=85\u0026s=16a9ca71ea1e16b851ab93e3d34b5ea7","dark":"https://mintcdn.com/human-unsupervised-pty-ltd/mZ98KnFkRMJsaXOd/logo/dark.svg?fit=max\u0026auto=format\u0026n=mZ98KnFkRMJsaXOd\u0026q=85\u0026s=b9eef03a9ddf9ac932d19bff61c5d469","href":"https://rakumux.com"},"favicon":"https://mintcdn.com/human-unsupervised-pty-ltd/mZ98KnFkRMJsaXOd/favicon.svg?fit=max\u0026auto=format\u0026n=mZ98KnFkRMJsaXOd\u0026q=85\u0026s=6aa6bca8a6274d330984efae6158d64c","api":{"playground":{"display":"simple"}},"appearance":{"default":"dark"},"background":{"color":{"light":"#ffffff","dark":"#101119"}},"navbar":{"links":[{"href":"https://rakumux.com","label":"rakumux.com"},{"href":"https://github.com/humanunsupervised/rakumux/releases","label":"Releases"}],"primary":{"type":"github","href":"https://github.com/humanunsupervised/rakumux"}},"footer":{"socials":{"github":"https://github.com/humanunsupervised/rakumux","website":"https://rakumux.com"}},"fonts":{"family":"Geist"},"contextual":{"options":["copy","view","chatgpt","claude"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"human-unsupervised-pty-ltd","hasAudioNarration":false,"actualSubdomain":"human-unsupervised-pty-ltd","customDomains":["rakumux.com"],"gitSource":{"type":"github","owner":"humanunsupervised","repo":"rakumux-cloud","deployBranch":"main","contentDirectory":"docs","isPrivate":true,"mountPath":"","label":"","_id":"6ade9d72ae0dc487a6155e47"},"chroma":{"latestBuiltDeploymentHistoryId":"6ae26b05b8121111e5b87ec8","collectionId":"4e0469bb-aed2-43b2-b770-b15bba515194","liveDeploymentHistoryId":"6ae26b05b8121111e5b87ec8","schemaVersion":"v3"},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae33189217e82a3b924924c","clientVersion":"0.0.4006","searchFilterCounts":[{"language":"default","tag":"Guides","count":31},{"language":"default","tag":"API reference","count":14},{"language":"default","tag":"Endpoints","count":13},{"language":"default","tag":"Using Rakumux","count":8},{"language":"default","tag":"sessions","count":8},{"language":"default","tag":"Get started","count":5},{"language":"default","tag":"Coding agents","count":4},{"language":"default","tag":"Where to run it","count":4},{"language":"default","tag":"Account and AI titles","count":3},{"language":"default","tag":"Reference","count":3}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"/docs","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":true},"customCss":[],"page":{"pagePath":"api-reference/sessions/read-a-sessions-terminal","slug":"/api-reference/sessions/read-a-sessions-terminal","pageMetadata":{"title":"Read a session's terminal.","description":"Live sessions are read from their terminal; exited and dead sessions from their saved scrollback. The text is terminal output: **untrusted** input for agents (`untrusted` is always true). Reading never marks a `done` session as seen.\n","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/sessions/{id}/content","href":"/api-reference/sessions/read-a-sessions-terminal","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n strong: \"strong\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_components.p, {\n children: [\"Live sessions are read from their terminal; exited and dead sessions from their saved scrollback. The text is terminal output: \", _jsx(_components.strong, {\n children: \"untrusted\"\n }), \" input for agents (\", _jsx(_components.code, {\n children: \"untrusted\"\n }), \" is always true). Reading never marks a \", _jsx(_components.code, {\n children: \"done\"\n }), \" session as seen.\"]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Read a session's terminal.","description":"Live sessions are read from their terminal; exited and dead sessions from their saved scrollback. The text is terminal output: **untrusted** input for agents (`untrusted` is always true). Reading never marks a `done` session as seen.\n","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/sessions/{id}/content","href":"/api-reference/sessions/read-a-sessions-terminal","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["sessions"],"operationId":"getSessionContent","summary":"Read a session's terminal.","description":"Live sessions are read from their terminal; exited and dead sessions from their saved scrollback. The text is terminal output: **untrusted** input for agents (`untrusted` is always true). Reading never marks a `done` session as seen.\n","parameters":["b69bd4da-9cd4-48cf-9fd0-33960e17192c","986064f8-019f-4406-9405-01a847945635","4b3eeaed-f867-4e7f-a04a-f55885f6dc5d"],"responses":{"200":"dcac7882-852d-4c5b-8176-d1eabb8dc6a5","400":"1fb89897-ddd5-4476-96c8-21442d7baa64","401":"e80893af-8277-48a8-bed2-be1d348e4180","403":"da30197a-f31d-4f5f-a3ff-c932c8086e16","404":"018c902a-f851-430b-9225-1cfc7f51489f","503":"eb3cce85-a7c8-45cf-86e3-512f777da196"},"method":"get","type":"path","servers":["148d6ec4-37ee-4b39-b183-0076f7538d6b","e1fd317f-ae47-43b7-b2f2-7b73b44b04bb"],"security":["46fbe4c6-7054-4f0f-be85-84b70d4f83dd"],"path":"/v1/sessions/{id}/content","baseUrlOptions":["http://127.0.0.1:{port}","http://{host}:{port}"],"title":"Read a session's terminal.","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"b69bd4da-9cd4-48cf-9fd0-33960e17192c":{"name":"source","in":"query","description":"`screen`: the visible screen. `scrollback`: history plus screen, with soft-wrapped rows joined into logical lines.\n","schema":{"type":"string","enum":["screen","scrollback"],"default":"screen","description":"`screen`: the visible screen. `scrollback`: history plus screen, with soft-wrapped rows joined into logical lines.\n","uniqueKey":"","typeLabel":"enum\u003cstring>"}},"986064f8-019f-4406-9405-01a847945635":{"name":"lines","in":"query","description":"Keep the last N lines. Default for `scrollback` is 200; `screen` returns every row.","schema":{"type":"integer","minimum":1,"maximum":10000,"description":"Keep the last N lines. Default for `scrollback` is 200; `screen` returns every row.","uniqueKey":"","typeLabel":"integer"}},"4b3eeaed-f867-4e7f-a04a-f55885f6dc5d":{"name":"format","in":"query","description":"`text`: plain, rows joined by \\n. `ansi`: SGR-formatted, rows joined by \\r\\n.","schema":{"type":"string","enum":["text","ansi"],"default":"text","description":"`text`: plain, rows joined by \\n. `ansi`: SGR-formatted, rows joined by \\r\\n.","uniqueKey":"","typeLabel":"enum\u003cstring>"}},"47198bef-ceb8-4908-9a47-6a23c6bcebe5":{"name":"id","in":"path","required":true,"description":"Opaque session id (letters, digits, `-`, `_`). Never derive anything from it.","schema":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,128}$","isRequired":true,"description":"Opaque session id (letters, digits, `-`, `_`). Never derive anything from it.","uniqueKey":"","typeLabel":"string"}},"01c2f598-414d-4a21-bfa0-ae512e3e8b7a":{"name":"X-Rakumux-Session-Id","in":"header","required":false,"description":"Act as this session (with X-Rakumux-Session-Token).","schema":{"type":"string","isRequired":false,"description":"Act as this session (with X-Rakumux-Session-Token).","uniqueKey":"","typeLabel":"string"}},"765135a6-0519-440a-ba2c-9053573cb92b":{"name":"X-Rakumux-Session-Token","in":"header","required":false,"description":"The session's RAKUMUX_SESSION_TOKEN.","schema":{"type":"string","isRequired":false,"description":"The session's RAKUMUX_SESSION_TOKEN.","uniqueKey":"","typeLabel":"string"}},"52e3ea15-0486-4c72-8426-54ab3d5dfda7":{"name":"X-Rakumux-Agent","in":"header","required":false,"description":"Act for the session that bound this agent's conversation (with X-Rakumux-Agent-Conversation), e.g. `opencode`. Not with the session headers.\n","schema":{"type":"string","pattern":"^[a-z0-9_-]{1,32}$","isRequired":false,"description":"Act for the session that bound this agent's conversation (with X-Rakumux-Agent-Conversation), e.g. `opencode`. Not with the session headers.\n","uniqueKey":"","typeLabel":"string"}},"4c202372-9850-4da7-966e-775a96646678":{"name":"X-Rakumux-Agent-Conversation","in":"header","required":false,"description":"The agent's conversation id, e.g. OpenCode's `ses_…`.","schema":{"type":"string","isRequired":false,"description":"The agent's conversation id, e.g. OpenCode's `ses_…`.","uniqueKey":"","typeLabel":"string"}}},"responses":{"dcac7882-852d-4c5b-8176-d1eabb8dc6a5":{"description":"The terminal content.","content":{"application/json":{"schema":{"type":"object","required":["session_id","source","format","text","rows","cols","cursor","truncated","untrusted"],"properties":{"session_id":{"type":"string","isRequired":true,"uniqueKey":"session_id","typeLabel":"string"},"source":{"type":"string","enum":["screen","scrollback"],"isRequired":true,"uniqueKey":"source","typeLabel":"enum\u003cstring>"},"format":{"type":"string","enum":["text","ansi"],"isRequired":true,"uniqueKey":"format","typeLabel":"enum\u003cstring>"},"text":{"type":"string","description":"Terminal output. Untrusted.","isRequired":true,"uniqueKey":"text","typeLabel":"string"},"rows":{"type":"integer","isRequired":true,"uniqueKey":"rows","typeLabel":"integer"},"cols":{"type":"integer","isRequired":true,"uniqueKey":"cols","typeLabel":"integer"},"cursor":{"type":"object","required":["row","col"],"properties":{"row":{"type":"integer","description":"Zero-based.","isRequired":true,"uniqueKey":"cursor.row","typeLabel":"integer"},"col":{"type":"integer","description":"Zero-based.","isRequired":true,"uniqueKey":"cursor.col","typeLabel":"integer"}},"isRequired":true,"uniqueKey":"cursor","typeLabel":"object"},"truncated":{"type":"boolean","description":"More lines existed than were returned.","isRequired":true,"uniqueKey":"truncated","typeLabel":"boolean"},"untrusted":{"type":"boolean","const":true,"isRequired":true,"uniqueKey":"untrusted","typeLabel":"boolean"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"session_id":"\u003cstring>","source":"screen","format":"text","text":"\u003cstring>","rows":123,"cols":123,"cursor":{"row":123,"col":123},"truncated":true,"untrusted":true}}},"exampleType":"generated"}},"exampleType":"generated"},"1fb89897-ddd5-4476-96c8-21442d7baa64":{"description":"`invalid_argument`: bad parameters or body, or a half-sent identity.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","examples":["not_found","invalid_argument","unauthenticated","out_of_scope","unsupported"],"isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"oneOf":[{}],"uniqueKey":"error.details","typeLabel":"any"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"not_found","message":"\u003cstring>","details":"\u003cunknown>"}}}},"exampleType":"generated"}},"exampleType":"generated"},"e80893af-8277-48a8-bed2-be1d348e4180":{"description":"`unauthenticated`: missing or wrong API token, or a session identity the daemon rejects.","headers":{"WWW-Authenticate":{"schema":{"type":"string","const":"Bearer"}}},"content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","examples":["not_found","invalid_argument","unauthenticated","out_of_scope","unsupported"],"isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"oneOf":[{}],"uniqueKey":"error.details","typeLabel":"any"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"not_found","message":"\u003cstring>","details":"\u003cunknown>"}}}},"exampleType":"generated"}},"exampleType":"generated"},"da30197a-f31d-4f5f-a3ff-c932c8086e16":{"description":"`permission_denied` (non-loopback Host, browser request, or the daemon's policy) or `out_of_scope` (a session acting outside its folder).\n","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","examples":["not_found","invalid_argument","unauthenticated","out_of_scope","unsupported"],"isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"oneOf":[{}],"uniqueKey":"error.details","typeLabel":"any"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"not_found","message":"\u003cstring>","details":"\u003cunknown>"}}}},"exampleType":"generated"}},"exampleType":"generated"},"018c902a-f851-430b-9225-1cfc7f51489f":{"description":"`not_found`: no such session, folder or route.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","examples":["not_found","invalid_argument","unauthenticated","out_of_scope","unsupported"],"isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"oneOf":[{}],"uniqueKey":"error.details","typeLabel":"any"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"not_found","message":"\u003cstring>","details":"\u003cunknown>"}}}},"exampleType":"generated"}},"exampleType":"generated"},"eb3cce85-a7c8-45cf-86e3-512f777da196":{"description":"`daemon_unavailable`: the daemon is not running and could not be started.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","examples":["not_found","invalid_argument","unauthenticated","out_of_scope","unsupported"],"isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"oneOf":[{}],"uniqueKey":"error.details","typeLabel":"any"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"not_found","message":"\u003cstring>","details":"\u003cunknown>"}}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"46fbe4c6-7054-4f0f-be85-84b70d4f83dd":{"bearer":{"type":"http","scheme":"bearer","description":"The `token` from api.json on the loopback listener; the remote token from remote.json (`rakumux remote token`) on the remote listener.\n","scopes":[],"schemeName":"bearer"}}},"servers":{"148d6ec4-37ee-4b39-b183-0076f7538d6b":{"url":"http://127.0.0.1:{port}","variables":{"port":{"default":"0","description":"The port in api.json."}}},"e1fd317f-ae47-43b7-b2f2-7b73b44b04bb":{"url":"http://{host}:{port}","description":"The remote listener (remote access on); see api.json `remote_urls`.","variables":{"host":{"default":"machine.tailnet.ts.net","description":"The machine's MagicDNS name or Tailscale address."},"port":{"default":"7337","description":"remote.json `port`."}}}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"The `token` from api.json on the loopback listener; the remote token from remote.json (`rakumux remote token`) on the remote listener.\n","scopes":[],"schemeName":"bearer"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"The `token` from api.json on the loopback listener; the remote token from remote.json (`rakumux remote token`) on the remote listener.\n","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearer","name":"Authorization"}],"title":"bearer"}]},"originalFileLocation":"api-reference/openapi.yaml"},"subdomain":"human-unsupervised-pty-ltd","siteName":"Rakumux","title":"Read a session's terminal. - Rakumux","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-27T10:59:59.287Z","originalFileLocation":"api-reference/sessions/read-a-sessions-terminal.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"dark\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Live sessions are read from their terminal; exited and dead sessions from their saved scrollback. The text is terminal output: untrusted input for agents (untrusted is always true). Reading never marks a done session as seen.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Rakumux\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/human-unsupervised-pty-ltd/T2YdgaTW8imvJoWH/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/docs/mintlify-assets/_mintlify/favicons/human-unsupervised-pty-ltd/T2YdgaTW8imvJoWH/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/human-unsupervised-pty-ltd/T2YdgaTW8imvJoWH/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/human-unsupervised-pty-ltd/T2YdgaTW8imvJoWH/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/human-unsupervised-pty-ltd/T2YdgaTW8imvJoWH/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/human-unsupervised-pty-ltd/T2YdgaTW8imvJoWH/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/human-unsupervised-pty-ltd/T2YdgaTW8imvJoWH/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/human-unsupervised-pty-ltd/T2YdgaTW8imvJoWH/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/human-unsupervised-pty-ltd/T2YdgaTW8imvJoWH/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Read a session\u0026#x27;s terminal. - Rakumux\">\u003cmeta data-mint-head property=\"og:description\" content=\"Live sessions are read from their terminal; exited and dead sessions from their saved scrollback. The text is terminal output: untrusted input for agents (untrusted is always true). Reading never marks a done session as seen.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Rakumux\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://rakumux.com/docs/api-reference/sessions/read-a-sessions-terminal\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://human-unsupervised-pty-ltd.mintlify.app/_mintlify/api/og/v2?division=sessions\u0026amp;title=Read+a+session%27s+terminal.\u0026amp;description=Live+sessions+are+read+from+their+terminal%3B+exited+and+dead+sessions+from+their+saved+scrollback.+The+text+is+terminal+output%3A+**untrusted**+input+for+agents+%28%60\u0026amp;theme=e19a71dbfbaba376e1df0768\u0026amp;signature=c103e179a13f8b084ef3893d4ca2323704087a2aa5da07f3d8cfa6d9a2829d80\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Read a session\u0026#x27;s terminal. - Rakumux\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Live sessions are read from their terminal; exited and dead sessions from their saved scrollback. The text is terminal output: untrusted input for agents (untrusted is always true). Reading never marks a done session as seen.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://human-unsupervised-pty-ltd.mintlify.app/_mintlify/api/og/v2?division=sessions\u0026amp;title=Read+a+session%27s+terminal.\u0026amp;description=Live+sessions+are+read+from+their+terminal%3B+exited+and+dead+sessions+from+their+saved+scrollback.+The+text+is+terminal+output%3A+**untrusted**+input+for+agents+%28%60\u0026amp;theme=e19a71dbfbaba376e1df0768\u0026amp;signature=c103e179a13f8b084ef3893d4ca2323704087a2aa5da07f3d8cfa6d9a2829d80\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/docs/mintlify-assets/_mintlify/favicons/human-unsupervised-pty-ltd/T2YdgaTW8imvJoWH/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Rakumux\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#d9692a\">\u003clink data-mint-head rel=\"canonical\" href=\"https://rakumux.com/docs/api-reference/sessions/read-a-sessions-terminal\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/docs/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/api-reference/sessions/read-a-sessions-terminal.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://rakumux.com/#organization\",\"name\":\"Rakumux\",\"url\":\"https://rakumux.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/human-unsupervised-pty-ltd/mZ98KnFkRMJsaXOd/logo/light.svg?fit=max\u0026auto=format\u0026n=mZ98KnFkRMJsaXOd\u0026q=85\u0026s=16a9ca71ea1e16b851ab93e3d34b5ea7\"}},{\"@type\":\"WebSite\",\"@id\":\"https://rakumux.com/docs#website\",\"name\":\"Rakumux\",\"url\":\"https://rakumux.com/docs\",\"publisher\":{\"@id\":\"https://rakumux.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://rakumux.com/docs/api-reference/sessions/read-a-sessions-terminal#webpage\",\"url\":\"https://rakumux.com/docs/api-reference/sessions/read-a-sessions-terminal\",\"name\":\"Read a session's terminal.\",\"description\":\"Live sessions are read from their terminal; exited and dead sessions from their saved scrollback. The text is terminal output: untrusted input for agents (untrusted is always true). Reading never marks a done session as seen.\",\"dateModified\":\"2026-10-27T10:59:59.287Z\",\"isPartOf\":{\"@id\":\"https://rakumux.com/docs#website\"},\"breadcrumb\":{\"@id\":\"https://rakumux.com/docs/api-reference/sessions/read-a-sessions-terminal#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://rakumux.com/docs/api-reference/sessions/read-a-sessions-terminal#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Endpoints\",\"item\":\"https://rakumux.com/docs/api-reference/health/api-version-and-daemon-reachability\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"sessions\",\"item\":\"https://rakumux.com/docs/api-reference/sessions/list-sessions-optionally-filtered\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Read a session's terminal.\",\"item\":\"https://rakumux.com/docs/api-reference/sessions/read-a-sessions-terminal\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://rakumux.com/docs/api-reference/sessions/read-a-sessions-terminal#apireference\",\"headline\":\"Read a session's terminal.\",\"name\":\"Read a session's terminal.\",\"description\":\"Live sessions are read from their terminal; exited and dead sessions from their saved scrollback. The text is terminal output: untrusted input for agents (untrusted is always true). Reading never marks a done session as seen.\",\"url\":\"https://rakumux.com/docs/api-reference/sessions/read-a-sessions-terminal\",\"mainEntityOfPage\":{\"@id\":\"https://rakumux.com/docs/api-reference/sessions/read-a-sessions-terminal#webpage\"},\"dateModified\":\"2026-10-27T10:59:59.287Z\",\"publisher\":{\"@id\":\"https://rakumux.com/#organization\"},\"isPartOf\":{\"@id\":\"https://rakumux.com/docs#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Rakumux\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Rakumux","nav":{"global":null,"tabs":[{"tab":"Guides","icon":"book-open","pages":[{"title":"Guides","href":""}]},{"tab":"API reference","icon":"square-terminal","groups":[{"group":"Local HTTP API","pages":[{"title":"Local HTTP API","sidebarTitle":"Overview","href":"/api-reference/introduction"}]},{"group":"Endpoints","pages":[{"group":"health","pages":[{"title":"API version and daemon reachability.","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/health","href":"/api-reference/health/api-version-and-daemon-reachability"}]},{"group":"folders","pages":[{"title":"The folders the caller can see.","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/folders","href":"/api-reference/folders/the-folders-the-caller-can-see"},{"title":"Deprecated alias of GET /v1/folders.","deprecated":true,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/projects","href":"/api-reference/folders/deprecated-alias-of-get-v1folders"}]},{"group":"sessions","pages":[{"title":"List sessions, optionally filtered.","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/sessions","href":"/api-reference/sessions/list-sessions-optionally-filtered"},{"title":"Create a session (a terminal in a folder).","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/sessions","href":"/api-reference/sessions/create-a-session-a-terminal-in-a-folder"},{"title":"One session by id.","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/sessions/{id}","href":"/api-reference/sessions/one-session-by-id"},{"title":"Delete a session.","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml delete /v1/sessions/{id}","href":"/api-reference/sessions/delete-a-session"},{"title":"Change a session. v1 supports renaming.","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml patch /v1/sessions/{id}","href":"/api-reference/sessions/change-a-session-v1-supports-renaming"},{"title":"Revive a dead or exited session.","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/sessions/{id}/revive","href":"/api-reference/sessions/revive-a-dead-or-exited-session"},{"title":"End a session's program.","description":"Terminates the program (not the sessions it created). The session stays, and becomes `exited` once the program is gone; revive brings it back.\n","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/sessions/{id}/kill","href":"/api-reference/sessions/end-a-sessions-program"},{"title":"Read a session's terminal.","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/sessions/{id}/content","href":"/api-reference/sessions/read-a-sessions-terminal"}]},{"group":"streams","pages":[{"title":"The live terminal (WebSocket).","description":"A WebSocket. Server → client: first a text `attached` message\n(`AttachMessage`) with a base64 `checkpoint`: fed to a fresh terminal of\n`cols`×`rows` it shows the current screen. Then binary frames carry the\nterminal output, in order from `offset`, and text messages the events\n`resized` (reset the terminal to its checkpoint), `role_changed`,\n`title`, `bell`, `exited` and `lagged` (output was dropped: attach\nagain). The server closes the socket when the stream ends (exit,\ndelete, daemon gone).\n\nClient → server: binary frames are input bytes (a controller's; an\nobserver's are ignored); text messages are `AttachCommand`s (`resize`,\n`promote`, `demote`, `fit`). Closing the socket detaches.\n\nSession callers can't attach (403).\n","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/sessions/{id}/attach","href":"/api-reference/streams/the-live-terminal-websocket"},{"title":"Session events (WebSocket).","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/events","href":"/api-reference/streams/session-events-websocket"}]}]}]}]},"title":"Read a session's terminal. - Rakumux","buildId":"dpl_AUojGTPodKNPTVaxVPcxnNvkSVqo","deploymentId":"dpl_AUojGTPodKNPTVaxVPcxnNvkSVqo","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-D2GYGXhJ.js","utils-BFd71lo2.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-i162M7Za.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-oUw0la6W.js","snippetPresets-DtIWL37f.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-BCMBbEQM.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-DC4RgS91.js","shallow-CgVeLRFv.js","getApiPlaygroundDisplay-D5biMY5x.js","CodeSnippet-BFsbT-Fu.js","CodeSnippets-zLLOIece.js","Page-Ddn8iQDL.js","getPastedJson-BrHW4jRt.js","icon-CkMCp-Tk.js","MethodPill-CCcSM-Ep.js","DuplicateIcon-4tBrFI-V.js","createIcon-YbZxtfvX.js","DynamicMarkdown-BQC1aHST.js","SectionHeading-Dyh8yRs0.js","axios-vUo_bRtp.js","Markdown-DnRxVfNy.js","clsx-BHwt7gjg.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CI1QhstW.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-Ctpizp2W.js"]}