A thread is a conversation or run inside an agent. It is the place where the model receives a request, calls tools, writes files, asks for approvals, and produces output. The agent keeps the durable workspace; the thread keeps the execution flow for one piece of work.You can start a thread with a prompt, stream updates while it works, and inspect logs after the fact. The runtime handles the harness work around the model: context loading, tool-call execution, retries, compaction, and error recovery. That lets the thread continue through longer tasks without forcing your app to orchestrate every model step.Threads are also where user steering happens. If the work changes, add new input to the running thread instead of throwing away the agent state. If a tool call needs approval, the thread pauses until the approval is resolved or times out.The important split is simple: your application creates and observes threads, while the running thread decides which allowed tools to call.When your product needs to react to thread progress without watching the stream, subscribe to the thread.* and turn.* webhook events instead of polling.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Cerca","description":"Build long-running agents on Cloudflare Workers with durable execution, custom tools, approvals, memory, and a cloud sandbox.","colors":{"primary":"#7C6340","light":"#E8E0D2","dark":"#7C6340"},"logo":{"light":"https://mintcdn.com/cerca/avU2YjV-ayl9ITnW/logo/light.svg?fit=max\u0026auto=format\u0026n=avU2YjV-ayl9ITnW\u0026q=85\u0026s=3a952f50a305b017db4af3b52443e78d","dark":"https://mintcdn.com/cerca/avU2YjV-ayl9ITnW/logo/dark.svg?fit=max\u0026auto=format\u0026n=avU2YjV-ayl9ITnW\u0026q=85\u0026s=f30eef939f273f15687674dc8671f91a","href":"https://docs.cerca.dev"},"favicon":"https://mintcdn.com/cerca/avU2YjV-ayl9ITnW/favicon.svg?fit=max\u0026auto=format\u0026n=avU2YjV-ayl9ITnW\u0026q=85\u0026s=5c0a8c9a4b99f21be8bf0fa07e2d420e","background":{"color":{"light":"#FFFDF8","dark":"#141008"}},"navbar":{"links":[{"href":"https://app.cerca.dev/sign-in","label":"Sign in"}],"primary":{"type":"button","label":"Get an API key","href":"https://app.cerca.dev/settings"}},"footer":{"socials":{"github":"https://github.com/matrices"}},"seo":{"indexing":"navigable"},"icons":{"library":"lucide"},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"Changelog","icon":"list","href":"/changelog"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"cerca","hasAudioNarration":false,"actualSubdomain":"cerca","customDomains":["docs.cerca.dev"],"gitSource":{"type":"github","owner":"matrices","repo":"cell","deployBranch":"main","contentDirectory":"apps/docs","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6a21ddd929c7042dd5f5fa13","collectionId":"ba226a70-e5d2-440b-8ce9-16ef02e5ae18","schemaVersion":"v2"},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6a303907bbaa514ac1c6776e:failure","clientVersion":"0.0.3964","searchFilterCounts":[{"language":"default","tag":"API Reference","count":66},{"language":"default","tag":"Guides","count":17},{"language":"default","tag":"Threads","count":10},{"language":"default","tag":"Concepts","count":9},{"language":"default","tag":"Core concepts","count":9},{"language":"default","tag":"Agents","count":7},{"language":"default","tag":"Events","count":7},{"language":"default","tag":"Webhooks","count":7},{"language":"default","tag":"Approvals","count":6},{"language":"default","tag":"Connections","count":6}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"hasChatPermissions":false,"hasWebMcpPermissions":false,"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":"editor-v7-file-tree","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":"editor-nav-generations","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":"editor-agent-model-picker","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":"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}],"isAtlas":false,"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"concepts/threads","slug":"/concepts/threads","pageMetadata":{"title":"Threads","description":"Conversations or runs inside an agent workspace.","href":"/concepts/threads"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Conversations or runs inside an agent workspace.\"\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,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,p:`p`,..._provideComponents(),...props.components};return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`A thread is a conversation or run inside an agent. It is the place where the model receives a request, calls tools, writes files, asks for approvals, and produces output. The agent keeps the durable workspace; the thread keeps the execution flow for one piece of work.`}),`\n`,_jsx(_components.p,{children:`You can start a thread with a prompt, stream updates while it works, and inspect logs after the fact. The runtime handles the harness work around the model: context loading, tool-call execution, retries, compaction, and error recovery. That lets the thread continue through longer tasks without forcing your app to orchestrate every model step.`}),`\n`,_jsx(_components.p,{children:`Threads are also where user steering happens. If the work changes, add new input to the running thread instead of throwing away the agent state. If a tool call needs approval, the thread pauses until the approval is resolved or times out.`}),`\n`,_jsx(_components.p,{children:`The important split is simple: your application creates and observes threads, while the running thread decides which allowed tools to call.`}),`\n`,_jsxs(_components.p,{children:[`When your product needs to react to thread progress without watching the stream, subscribe to the `,_jsxs(_components.a,{href:`/concepts/webhooks-events#thread`,children:[_jsx(_components.code,{children:`thread.*`}),` and `,_jsx(_components.code,{children:`turn.*`})]}),` webhook events instead of polling.`]})]})}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":"Threads","description":"Conversations or runs inside an agent workspace.","href":"/concepts/threads"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"subdomain":"cerca","siteName":"Cerca","title":"Threads - Cerca","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-05-04T19:25:27.053Z","originalFileLocation":"concepts/threads.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=\"system\"}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=\"Conversations or runs inside an agent workspace.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Cerca\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/cerca/U1XT9hQUrE53iVjp/_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=\"/mintlify-assets/_mintlify/favicons/cerca/U1XT9hQUrE53iVjp/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/cerca/U1XT9hQUrE53iVjp/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/cerca/U1XT9hQUrE53iVjp/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/cerca/U1XT9hQUrE53iVjp/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/cerca/U1XT9hQUrE53iVjp/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/cerca/U1XT9hQUrE53iVjp/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/cerca/U1XT9hQUrE53iVjp/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/cerca/U1XT9hQUrE53iVjp/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Threads - Cerca\">\u003cmeta data-mint-head property=\"og:description\" content=\"Conversations or runs inside an agent workspace.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Cerca\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.cerca.dev/concepts/threads\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://cerca.mintlify.app/_mintlify/api/og/v2?division=Core+concepts\u0026amp;title=Threads\u0026amp;description=Conversations+or+runs+inside+an+agent+workspace.\u0026amp;theme=fc49af25e83b722074099bcb\u0026amp;signature=f007249618544397dfa0d359ddbb46b487b8f49013ace5eaa7f8ed4c939e4d6b\">\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=\"Threads - Cerca\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Conversations or runs inside an agent workspace.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://cerca.mintlify.app/_mintlify/api/og/v2?division=Core+concepts\u0026amp;title=Threads\u0026amp;description=Conversations+or+runs+inside+an+agent+workspace.\u0026amp;theme=fc49af25e83b722074099bcb\u0026amp;signature=f007249618544397dfa0d359ddbb46b487b8f49013ace5eaa7f8ed4c939e4d6b\">\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=\"/mintlify-assets/_mintlify/favicons/cerca/U1XT9hQUrE53iVjp/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Cerca\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#7C6340\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.cerca.dev/concepts/threads\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/concepts/threads.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.cerca.dev/#organization\",\"name\":\"Cerca\",\"url\":\"https://docs.cerca.dev\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/cerca/avU2YjV-ayl9ITnW/logo/light.svg?fit=max\u0026auto=format\u0026n=avU2YjV-ayl9ITnW\u0026q=85\u0026s=3a952f50a305b017db4af3b52443e78d\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.cerca.dev#website\",\"name\":\"Cerca\",\"url\":\"https://docs.cerca.dev\",\"publisher\":{\"@id\":\"https://docs.cerca.dev/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.cerca.dev/concepts/threads#webpage\",\"url\":\"https://docs.cerca.dev/concepts/threads\",\"name\":\"Threads\",\"description\":\"Conversations or runs inside an agent workspace.\",\"dateModified\":\"2026-05-04T19:25:27.053Z\",\"isPartOf\":{\"@id\":\"https://docs.cerca.dev#website\"},\"breadcrumb\":{\"@id\":\"https://docs.cerca.dev/concepts/threads#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.cerca.dev/concepts/threads#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Core concepts\",\"item\":\"https://docs.cerca.dev/concepts/agents\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Threads\",\"item\":\"https://docs.cerca.dev/concepts/threads\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.cerca.dev/concepts/threads#article\",\"headline\":\"Threads\",\"name\":\"Threads\",\"description\":\"Conversations or runs inside an agent workspace.\",\"url\":\"https://docs.cerca.dev/concepts/threads\",\"mainEntityOfPage\":{\"@id\":\"https://docs.cerca.dev/concepts/threads#webpage\"},\"dateModified\":\"2026-05-04T19:25:27.053Z\",\"publisher\":{\"@id\":\"https://docs.cerca.dev/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.cerca.dev#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Cerca\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Cerca","nav":{"global":{"anchors":[{"anchor":"Changelog","icon":"list","href":"/changelog"}]},"tabs":[{"tab":"Guides","anchors":[{"anchor":"Get Started","icon":"rocket","pages":[{"title":"Get Started","href":"/introduction"}]},{"anchor":"Concepts","icon":"boxes","groups":[{"group":"Core concepts","pages":[{"title":"Agents","description":"Durable workspaces with configuration, context, tools, and sandbox state.","href":"/concepts/agents"},{"title":"Threads","href":"/concepts/threads"},{"title":"Tools","description":"Built-in runtime tools and fleet-owned external tools.","href":"/concepts/tools"},{"title":"Connections","href":"/concepts/connections"},{"title":"Sandbox","href":"/concepts/sandbox"},{"title":"Schedules","href":"/concepts/schedules"},{"title":"Approvals","href":"/concepts/approvals"},{"title":"Webhooks","href":"/concepts/webhooks"},{"title":"Webhook events","href":"/concepts/webhooks-events"}]}]},{"anchor":"Guides","icon":"book-open","pages":[{"title":"Guides","href":"/guides/building-your-first-agent"}]}]},{"tab":"API Reference","icon":"square-terminal","pages":[{"title":"API Reference","href":"/api-reference/auth/retrieve-context"}]}]},"title":"Threads - Cerca","buildId":"dpl_HcHmUS6i3UwswnTHJUEdcTtwfdTQ","deploymentId":"dpl_HcHmUS6i3UwswnTHJUEdcTtwfdTQ","dynamics":[],"chunks":[]}