<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>OpenClaude on Producthunt daily</title>
        <link>https://producthunt.programnotes.cn/en/tags/openclaude/</link>
        <description>Recent content in OpenClaude on Producthunt daily</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>en</language>
        <lastBuildDate>Tue, 01 Sep 2026 20:39:19 +0800</lastBuildDate><atom:link href="https://producthunt.programnotes.cn/en/tags/openclaude/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>openclaude</title>
        <link>https://producthunt.programnotes.cn/en/p/openclaude/</link>
        <pubDate>Tue, 01 Sep 2026 20:39:19 +0800</pubDate>
        
        <guid>https://producthunt.programnotes.cn/en/p/openclaude/</guid>
        <description>&lt;img src="https://images.unsplash.com/photo-1633952104557-3b5835b7667b?ixid=M3w0NjAwMjJ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3ODgyNjYzMDF8&amp;ixlib=rb-4.1.0" alt="Featured image of post openclaude" /&gt;&lt;h1 id=&#34;gitlawbopenclaude&#34;&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/Gitlawb/openclaude&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Gitlawb/openclaude&lt;/a&gt;
&lt;/h1&gt;&lt;div align=&#34;center&#34;&gt;
  &lt;img src=&#34;docs/assets/openclaude-wordmark.png&#34; alt=&#34;OpenClaude — Open terminal for any LLM&#34; width=&#34;830&#34;&gt;
  &lt;p&gt;
    &lt;a href=&#34;https://trendshift.io/repositories/25807?utm_source=trendshift-badge&amp;amp;utm_medium=badge&amp;amp;utm_campaign=badge-trendshift-25807&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;&lt;img src=&#34;https://trendshift.io/api/badge/trendshift/repositories/25807/daily?language=TypeScript&#34; alt=&#34;Gitlawb%2Fopenclaude | Trendshift&#34; width=&#34;250&#34; height=&#34;55&#34;/&gt;&lt;/a&gt;
    &lt;a href=&#34;https://trendshift.io/repositories/25807?utm_source=trendshift-badge&amp;amp;utm_medium=badge&amp;amp;utm_campaign=badge-trendshift-25807&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;&lt;img src=&#34;https://trendshift.io/api/badge/trendshift/repositories/25807/monthly?language=TypeScript&#34; alt=&#34;Gitlawb%2Fopenclaude | Trendshift&#34; width=&#34;250&#34; height=&#34;55&#34;/&gt;&lt;/a&gt;
    &lt;a href=&#34;https://trendshift.io/repositories/25807?utm_source=repository-badge&amp;amp;utm_medium=badge&amp;amp;utm_campaign=badge-repository-25807&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;&lt;img src=&#34;https://trendshift.io/api/badge/repositories/25807&#34; alt=&#34;Gitlawb%2Fopenclaude | Trendshift&#34; width=&#34;250&#34; height=&#34;55&#34;/&gt;&lt;/a&gt;
  &lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;OpenClaude is an open-source coding-agent CLI for cloud and local model providers.&lt;/p&gt;
&lt;p&gt;Use OpenAI-compatible APIs, Gemini, GitHub Models, Codex OAuth, Codex, Ollama, Atomic Chat, and other supported backends while keeping one terminal-first workflow: prompts, tools, agents, MCP, slash commands, and streaming output.&lt;/p&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/Gitlawb/openclaude/actions/workflows/pr-checks.yml&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://github.com/Gitlawb/openclaude/actions/workflows/pr-checks.yml/badge.svg?branch=main&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;PR Checks&#34;
	
	
&gt;&lt;/a&gt;
&lt;a class=&#34;link&#34; href=&#34;https://github.com/Gitlawb/openclaude/tags&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://img.shields.io/github/v/tag/Gitlawb/openclaude?label=release&amp;amp;color=0ea5e9&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;Release&#34;
	
	
&gt;&lt;/a&gt;
&lt;a class=&#34;link&#34; href=&#34;https://www.npmjs.com/package/@gitlawb/openclaude&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://img.shields.io/npm/dm/@gitlawb/openclaude&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;npm downloads&#34;
	
	
&gt;&lt;/a&gt;
&lt;a class=&#34;link&#34; href=&#34;https://github.com/Gitlawb/openclaude/discussions&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://img.shields.io/badge/discussions-open-7c3aed&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;Discussions&#34;
	
	
&gt;&lt;/a&gt;
&lt;a class=&#34;link&#34; href=&#34;https://discord.gg/k68zFR6AcB&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://img.shields.io/badge/Discord-join-5865F2?logo=discord&amp;amp;logoColor=white&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;Discord&#34;
	
	
&gt;&lt;/a&gt;
&lt;a class=&#34;link&#34; href=&#34;https://x.com/gitlawb&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://img.shields.io/badge/X-@gitlawb-000000?logo=x&amp;amp;logoColor=white&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;X&#34;
	
	
&gt;&lt;/a&gt;
&lt;a class=&#34;link&#34; href=&#34;SECURITY.md&#34; &gt;&lt;img src=&#34;https://img.shields.io/badge/security-policy-0f766e&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;Security Policy&#34;
	
	
&gt;&lt;/a&gt;
&lt;a class=&#34;link&#34; href=&#34;LICENSE&#34; &gt;&lt;img src=&#34;https://img.shields.io/badge/license-MIT-2563eb&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;License&#34;
	
	
&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;OpenClaude is also mirrored to GitLawb:
&lt;a class=&#34;link&#34; href=&#34;https://gitlawb.com/node/repos/z6MkqDnb/openclaude&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;gitlawb.com/node/repos/z6MkqDnb/openclaude&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;#quick-start&#34; &gt;Quick Start&lt;/a&gt; | &lt;a class=&#34;link&#34; href=&#34;#setup-guides&#34; &gt;Setup Guides&lt;/a&gt; | &lt;a class=&#34;link&#34; href=&#34;#supported-providers&#34; &gt;Providers&lt;/a&gt; | &lt;a class=&#34;link&#34; href=&#34;#development&#34; &gt;Development&lt;/a&gt; | &lt;a class=&#34;link&#34; href=&#34;#vs-code-extension&#34; &gt;VS Code Extension&lt;/a&gt; | &lt;a class=&#34;link&#34; href=&#34;#partners&#34; &gt;Partners&lt;/a&gt; | &lt;a class=&#34;link&#34; href=&#34;#community&#34; &gt;Community&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;partners&#34;&gt;Partners
&lt;/h2&gt;&lt;table align=&#34;center&#34;&gt;
  &lt;tr&gt;
    &lt;td align=&#34;center&#34; width=&#34;150&#34; height=&#34;80&#34;&gt;
      &lt;a href=&#34;https://gitlawb.com&#34;&gt;
        &lt;img src=&#34;https://gitlawb.com/logo.png&#34; alt=&#34;GitLawb logo&#34; width=&#34;72&#34;&gt;
      &lt;/a&gt;
    &lt;/td&gt;
    &lt;td align=&#34;center&#34; width=&#34;150&#34; height=&#34;80&#34;&gt;
      &lt;a href=&#34;https://bankr.bot&#34;&gt;
        &lt;img src=&#34;https://bankr.bot/favicon.svg&#34; alt=&#34;Bankr.bot logo&#34; width=&#34;72&#34;&gt;
      &lt;/a&gt;
    &lt;/td&gt;
    &lt;td align=&#34;center&#34; width=&#34;150&#34; height=&#34;80&#34;&gt;
      &lt;a href=&#34;https://atomic.chat/&#34;&gt;
        &lt;img src=&#34;docs/assets/atomic-chat-logo.png&#34; alt=&#34;Atomic Chat logo&#34; width=&#34;72&#34;&gt;
      &lt;/a&gt;
    &lt;/td&gt;
    &lt;td align=&#34;center&#34; width=&#34;150&#34; height=&#34;80&#34;&gt;
      &lt;a href=&#34;https://mimo.mi.com&#34;&gt;
        &lt;img src=&#34;https://mimo.xiaomi.com/mimo-v2-pro/assets/logo.svg&#34; alt=&#34;Xiaomi MiMo logo&#34; width=&#34;136&#34;&gt;
      &lt;/a&gt;
    &lt;/td&gt;
    &lt;td align=&#34;center&#34; width=&#34;150&#34; height=&#34;80&#34;&gt;
      &lt;a href=&#34;https://www.atlascloud.ai/&#34;&gt;
        &lt;img src=&#34;docs/assets/atlas-cloud-banner.png&#34; alt=&#34;Atlas Cloud logo&#34; width=&#34;136&#34;&gt;
      &lt;/a&gt;
    &lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td align=&#34;center&#34;&gt;&lt;a href=&#34;https://gitlawb.com&#34;&gt;&lt;strong&gt;GitLawb&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
    &lt;td align=&#34;center&#34;&gt;&lt;a href=&#34;https://bankr.bot&#34;&gt;&lt;strong&gt;Bankr.bot&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
    &lt;td align=&#34;center&#34;&gt;&lt;a href=&#34;https://atomic.chat/&#34;&gt;&lt;strong&gt;Atomic Chat&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
    &lt;td align=&#34;center&#34;&gt;&lt;a href=&#34;https://mimo.mi.com&#34;&gt;&lt;strong&gt;Xiaomi MiMo&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
    &lt;td align=&#34;center&#34;&gt;&lt;a href=&#34;https://www.atlascloud.ai/&#34;&gt;&lt;strong&gt;Atlas Cloud&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td align=&#34;center&#34; width=&#34;150&#34; height=&#34;80&#34;&gt;
      &lt;a href=&#34;https://aimlapi.com/&#34;&gt;
        &lt;picture&gt;
          &lt;source media=&#34;(prefers-color-scheme: dark)&#34; srcset=&#34;docs/assets/aimlapi-logo-dark.svg&#34;&gt;
          &lt;img src=&#34;docs/assets/aimlapi-logo.svg&#34; alt=&#34;AI/ML API logo&#34; width=&#34;136&#34;&gt;
        &lt;/picture&gt;
      &lt;/a&gt;
    &lt;/td&gt;
    &lt;td align=&#34;center&#34; width=&#34;150&#34; height=&#34;80&#34;&gt;
      &lt;a href=&#34;https://novita.ai/&#34;&gt;
        &lt;picture&gt;
          &lt;source media=&#34;(prefers-color-scheme: dark)&#34; srcset=&#34;docs/assets/novita-logo-dark.svg&#34;&gt;
          &lt;img src=&#34;docs/assets/novita-logo.svg&#34; alt=&#34;Novita AI logo&#34; width=&#34;136&#34;&gt;
        &lt;/picture&gt;
      &lt;/a&gt;
    &lt;/td&gt;
    &lt;td align=&#34;center&#34; width=&#34;150&#34; height=&#34;80&#34;&gt;
      &lt;a href=&#34;https://www.apismart.ai&#34;&gt;
        &lt;picture&gt;
          &lt;source media=&#34;(prefers-color-scheme: dark)&#34; srcset=&#34;docs/assets/apismart-logo-dark.png&#34;&gt;
          &lt;img src=&#34;docs/assets/apismart-logo.png&#34; alt=&#34;ApiSmart logo&#34; width=&#34;120&#34;&gt;
        &lt;/picture&gt;
      &lt;/a&gt;
    &lt;/td&gt;
    &lt;td align=&#34;center&#34; width=&#34;150&#34; height=&#34;80&#34;&gt;
      &lt;a href=&#34;https://concentrate.ai/&#34;&gt;
        &lt;picture&gt;
          &lt;source media=&#34;(prefers-color-scheme: dark)&#34; srcset=&#34;docs/assets/concentrate-logo-dark.svg&#34;&gt;
          &lt;img src=&#34;docs/assets/concentrate-logo.svg&#34; alt=&#34;Concentrate logo&#34; width=&#34;64&#34;&gt;
        &lt;/picture&gt;
      &lt;/a&gt;
    &lt;/td&gt;
    &lt;td align=&#34;center&#34; width=&#34;150&#34; height=&#34;80&#34;&gt;
      &lt;a href=&#34;https://exa.ai/&#34;&gt;
        &lt;picture&gt;
          &lt;source media=&#34;(prefers-color-scheme: dark)&#34; srcset=&#34;docs/assets/exa-logo-dark.svg&#34;&gt;
          &lt;img src=&#34;docs/assets/exa-logo.svg&#34; alt=&#34;Exa logo&#34; width=&#34;110&#34;&gt;
        &lt;/picture&gt;
      &lt;/a&gt;
    &lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td align=&#34;center&#34;&gt;&lt;a href=&#34;https://aimlapi.com/&#34;&gt;&lt;strong&gt;AI/ML API&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
    &lt;td align=&#34;center&#34;&gt;&lt;a href=&#34;https://novita.ai/&#34;&gt;&lt;strong&gt;Novita AI&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
    &lt;td align=&#34;center&#34;&gt;&lt;a href=&#34;https://www.apismart.ai&#34;&gt;&lt;strong&gt;ApiSmart&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
    &lt;td align=&#34;center&#34;&gt;&lt;a href=&#34;https://concentrate.ai/&#34;&gt;&lt;strong&gt;Concentrate&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
    &lt;td align=&#34;center&#34;&gt;&lt;a href=&#34;https://exa.ai/&#34;&gt;&lt;strong&gt;Exa&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;
&lt;h2 id=&#34;why-openclaude&#34;&gt;Why OpenClaude
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;One CLI across cloud APIs and local model backends — no per-provider tooling&lt;/li&gt;
&lt;li&gt;Guided provider setup and saved profiles with &lt;code&gt;/provider&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Coding-agent workflows in one place: bash, file tools, grep, glob, agents, tasks, MCP, and web tools&lt;/li&gt;
&lt;li&gt;A bundled VS Code extension for launch integration and theme support&lt;/li&gt;
&lt;li&gt;A pixel-art hero companion who fires an arrow every time you press Enter (really — see &lt;a class=&#34;link&#34; href=&#34;#meet-your-buddy&#34; &gt;Meet your buddy&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;quick-start&#34;&gt;Quick Start
&lt;/h2&gt;&lt;h3 id=&#34;install&#34;&gt;Install
&lt;/h3&gt;&lt;p&gt;OpenClaude requires Node.js &lt;code&gt;&amp;gt;=22.0.0&lt;/code&gt; for npm installs and runtime. Bun is
only needed for source builds and local development.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;npm install -g @gitlawb/openclaude@latest
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;If you&amp;rsquo;re on Arch Linux, you can install OpenClaude from the community-maintained &lt;a class=&#34;link&#34; href=&#34;https://aur.archlinux.org/packages/openclaude&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;AUR package&lt;/a&gt;:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;paru -S openclaude
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;If the install later reports &lt;code&gt;ripgrep not found&lt;/code&gt;, install ripgrep system-wide and confirm &lt;code&gt;rg --version&lt;/code&gt; works in the same terminal before starting OpenClaude.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Verify / troubleshoot installed version:&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;openclaude --version
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;npm view @gitlawb/openclaude dist-tags
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;npm install -g @gitlawb/openclaude@latest
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;start&#34;&gt;Start
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;openclaude
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Inside OpenClaude:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;run &lt;code&gt;/provider&lt;/code&gt; for guided provider setup and saved profiles&lt;/li&gt;
&lt;li&gt;run &lt;code&gt;/onboard-github&lt;/code&gt; for GitHub Models onboarding&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; OpenClaude does not automatically load project &lt;code&gt;.env&lt;/code&gt; files. We recommend using the &lt;code&gt;/provider&lt;/code&gt; command for setup, which saves provider profiles and credentials in &lt;code&gt;.openclaude-profile.json&lt;/code&gt;. If you prefer environment variables, export them explicitly or run &lt;code&gt;openclaude --provider-env-file .env&lt;/code&gt; for provider/setup variables. Export runtime/debug knobs from your shell or launcher.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&#34;resume-or-fork-a-conversation&#34;&gt;Resume or fork a conversation
&lt;/h3&gt;&lt;p&gt;Resume an existing conversation by session ID, or continue the most recent
conversation in the current directory:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;openclaude --resume &amp;lt;session-id&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;openclaude --continue
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Add &lt;code&gt;--fork-session&lt;/code&gt; to branch the conversation history into a new session ID
instead of reusing the original transcript:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;openclaude --resume &amp;lt;session-id&amp;gt; --fork-session
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;openclaude --continue --fork-session
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Forking is conversation branching only. It does not create filesystem isolation,
copy your working tree, or create a git worktree branch.&lt;/p&gt;
&lt;h3 id=&#34;background-sessions&#34;&gt;Background sessions
&lt;/h3&gt;&lt;p&gt;Run long non-interactive prompts detached from the current terminal:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;openclaude --bg &lt;span class=&#34;s2&#34;&gt;&amp;#34;fix failing tests&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;openclaude --bg --name auth-refactor &lt;span class=&#34;s2&#34;&gt;&amp;#34;refactor auth middleware&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;openclaude ps
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;openclaude logs auth-refactor
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;openclaude logs auth-refactor -f
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;openclaude &lt;span class=&#34;nb&#34;&gt;kill&lt;/span&gt; auth-refactor
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Background sessions are local child processes. OpenClaude does not start a daemon
or network service, and permission/provider/model/settings flags are passed to
the child process the same way they are for a foreground &lt;code&gt;--print&lt;/code&gt; run. Session
metadata and logs are stored under the resolved OpenClaude config directory,
usually &lt;code&gt;~/.openclaude/bg-sessions/&lt;/code&gt;; &lt;code&gt;OPENCLAUDE_CONFIG_DIR&lt;/code&gt; can point
OpenClaude somewhere else. &lt;code&gt;CLAUDE_CONFIG_DIR&lt;/code&gt; is ignored for OpenClaude
background-session storage. Session names can be reused after older sessions
reach a terminal state; use the session ID to inspect older logs with the same
name. A naturally finished session is recorded as &lt;code&gt;exited&lt;/code&gt; when its process
returns zero and &lt;code&gt;failed&lt;/code&gt; when it returns nonzero or handles a termination
signal. &lt;code&gt;stale&lt;/code&gt; remains the conservative result when the process disappears
without an observed outcome; an explicit successful &lt;code&gt;openclaude kill&lt;/code&gt; is
recorded as &lt;code&gt;killed&lt;/code&gt;, and &lt;code&gt;killed&lt;/code&gt; takes precedence over a natural &lt;code&gt;exited&lt;/code&gt; or
&lt;code&gt;failed&lt;/code&gt; outcome for the same process. Terminal outcomes are stored separately
under &lt;code&gt;bg-sessions/terminal/&lt;/code&gt;; deleting that directory makes finished sessions
fall back to liveness-derived status. OpenClaude does not infer POSIX signal
names on Windows.
Unobservable force termination, host crashes, and power loss remain &lt;code&gt;stale&lt;/code&gt; on
every platform.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;openclaude attach &amp;lt;id-or-name&amp;gt;&lt;/code&gt; currently reports the matching session and
points to &lt;code&gt;openclaude logs &amp;lt;id&amp;gt; -f&lt;/code&gt;; full terminal reattach is not implemented
for local background sessions yet.&lt;/p&gt;
&lt;h3 id=&#34;openclaude-config-cutover&#34;&gt;OpenClaude config cutover
&lt;/h3&gt;&lt;p&gt;OpenClaude stores its own config under &lt;code&gt;~/.openclaude&lt;/code&gt; and &lt;code&gt;~/.openclaude.json&lt;/code&gt;
by default. It does not read &lt;code&gt;~/.claude&lt;/code&gt;, project &lt;code&gt;.claude/&lt;/code&gt; directories, or
&lt;code&gt;CLAUDE_CONFIG_DIR&lt;/code&gt;; new users can start with an empty OpenClaude config and do
not need Claude Code installed.&lt;/p&gt;
&lt;p&gt;If you previously used OpenClaude with &lt;code&gt;.claude&lt;/code&gt; paths, migrate intentionally:
copy only the settings, commands, agents, skills, scheduled tasks, or other files
you personally created for OpenClaude into the matching &lt;code&gt;.openclaude&lt;/code&gt; location.
Do not blanket-copy &lt;code&gt;.claude&lt;/code&gt;, and do not copy Claude Code credentials or auth
files. For provider authentication, prefer running OpenClaude&amp;rsquo;s provider setup
again or exporting provider-specific environment variables.&lt;/p&gt;
&lt;h3 id=&#34;fastest-openai-setup&#34;&gt;Fastest OpenAI setup
&lt;/h3&gt;&lt;p&gt;macOS / Linux:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;CLAUDE_CODE_USE_OPENAI&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;OPENAI_API_KEY&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;sk-your-key-here
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;OPENAI_MODEL&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;gpt-4o
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;openclaude
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Windows PowerShell:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-powershell&#34; data-lang=&#34;powershell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$env:CLAUDE_CODE_USE_OPENAI&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;1&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$env:OPENAI_API_KEY&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;sk-your-key-here&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$env:OPENAI_MODEL&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;gpt-4o&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;openclaude&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;fastest-local-ollama-setup&#34;&gt;Fastest local Ollama setup
&lt;/h3&gt;&lt;p&gt;macOS / Linux:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;CLAUDE_CODE_USE_OPENAI&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;OPENAI_BASE_URL&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;http://localhost:11434/v1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;OPENAI_MODEL&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;qwen2.5-coder:7b
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;openclaude
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Windows PowerShell:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-powershell&#34; data-lang=&#34;powershell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$env:CLAUDE_CODE_USE_OPENAI&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;1&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$env:OPENAI_BASE_URL&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;http://localhost:11434/v1&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$env:OPENAI_MODEL&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;qwen2.5-coder:7b&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;openclaude&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;For Ollama, OpenClaude uses Ollama&amp;rsquo;s native chat API and requests a 32768-token
context window on each chat request so same-session history is not silently
truncated by Ollama&amp;rsquo;s OpenAI-compatible shim. Set &lt;code&gt;OPENCLAUDE_OLLAMA_NUM_CTX&lt;/code&gt;
or &lt;code&gt;OLLAMA_CONTEXT_LENGTH&lt;/code&gt; if you need a different request-level context size.
See &lt;a class=&#34;link&#34; href=&#34;docs/advanced-setup.md#ollama-context-length&#34; &gt;Advanced Setup&lt;/a&gt; for
verification with &lt;code&gt;ollama ps&lt;/code&gt;.&lt;/p&gt;
&lt;h2 id=&#34;setup-guides&#34;&gt;Setup Guides
&lt;/h2&gt;&lt;p&gt;Beginner-friendly guides:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;docs/non-technical-setup.md&#34; &gt;Non-Technical Setup&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;docs/quick-start-windows.md&#34; &gt;Windows Quick Start&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;docs/quick-start-mac-linux.md&#34; &gt;macOS / Linux Quick Start&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Advanced and source-build guides:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;docs/advanced-setup.md&#34; &gt;Advanced Setup&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;docs/smart-routing.md&#34; &gt;Smart Auto-Routing&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;docs/agent-routing.md&#34; &gt;Agent Routing and Step Limits&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;docs/grpc-server.md&#34; &gt;Headless gRPC Server&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;docs/repo-map.md&#34; &gt;Repo Map (codebase intelligence)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;ANDROID_INSTALL.md&#34; &gt;Android Install&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;supported-providers&#34;&gt;Supported Providers
&lt;/h2&gt;&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;Provider&lt;/th&gt;
					&lt;th&gt;Setup Path&lt;/th&gt;
					&lt;th&gt;Notes&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;OpenAI-compatible&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;/provider&lt;/code&gt; or env vars&lt;/td&gt;
					&lt;td&gt;Works with OpenAI, OpenRouter, DeepSeek, Groq, Mistral, LM Studio, and other compatible &lt;code&gt;/v1&lt;/code&gt; servers&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Z.AI GLM Coding Plan&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;/provider&lt;/code&gt; or OpenAI-compatible env vars&lt;/td&gt;
					&lt;td&gt;Uses &lt;code&gt;OPENAI_API_KEY&lt;/code&gt; at &lt;code&gt;https://api.z.ai/api/coding/paas/v4&lt;/code&gt; and defaults to &lt;code&gt;glm-5.2&lt;/code&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;AI/ML API&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;/provider&lt;/code&gt; or &lt;code&gt;AIMLAPI_API_KEY&lt;/code&gt; (&lt;a class=&#34;link&#34; href=&#34;docs/aimlapi-setup.md&#34; &gt;setup guide&lt;/a&gt;)&lt;/td&gt;
					&lt;td&gt;Uses &lt;code&gt;https://api.aimlapi.com/v1&lt;/code&gt;, auto-detects the OpenAI-compatible route from &lt;code&gt;AIMLAPI_API_KEY&lt;/code&gt;, sends OpenClaude attribution headers, and discovers chat-capable models from the public &lt;code&gt;/models&lt;/code&gt; catalog&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Concentrate&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;/provider&lt;/code&gt; or &lt;code&gt;CONCENTRATE_API_KEY&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;Unified OpenAI-compatible gateway at &lt;code&gt;https://api.concentrate.ai/v1&lt;/code&gt;; defaults to &lt;code&gt;deepseek-v4-flash&lt;/code&gt; and auto-discovers the chat model catalog&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;LLMTR&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;/provider&lt;/code&gt; or OpenAI-compatible env vars&lt;/td&gt;
					&lt;td&gt;Multi-model gateway at &lt;code&gt;https://llmtr.com/v1&lt;/code&gt;; &lt;code&gt;/provider&lt;/code&gt; and &lt;code&gt;--provider llmtr&lt;/code&gt; default to &lt;code&gt;deepseek/deepseek-v4-flash&lt;/code&gt;, while raw env setup must set &lt;code&gt;OPENAI_BASE_URL=https://llmtr.com/v1&lt;/code&gt; and &lt;code&gt;OPENAI_MODEL&lt;/code&gt;; accepts &lt;code&gt;LLMTR_API_KEY&lt;/code&gt; or &lt;code&gt;OPENAI_API_KEY&lt;/code&gt; after the route is selected and discovers tool-capable Chat Completions models from the public catalog&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;ApiSmart&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;/provider&lt;/code&gt; or &lt;code&gt;APISMART_API_KEY&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;Uses &lt;code&gt;https://gw.apismart.ai/v1&lt;/code&gt;, defaults to &lt;code&gt;DEEPSEEK_V4_FLASH&lt;/code&gt;, and supports optional &lt;code&gt;APISMART_MODEL&lt;/code&gt; plus authenticated model discovery&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Hicap&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;/provider&lt;/code&gt; or OpenAI-compatible env vars&lt;/td&gt;
					&lt;td&gt;Uses &lt;code&gt;api-key&lt;/code&gt; auth, discovers models from unauthenticated &lt;code&gt;/models&lt;/code&gt;, and supports Responses mode for &lt;code&gt;gpt-&lt;/code&gt; models&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Fireworks AI&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;/provider&lt;/code&gt; or env vars&lt;/td&gt;
					&lt;td&gt;First-class provider with 276 curated models (DeepSeek, Qwen, Llama, Gemma, and more); uses &lt;code&gt;FIREWORKS_API_KEY&lt;/code&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;LongCat&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;/provider&lt;/code&gt; or env vars&lt;/td&gt;
					&lt;td&gt;Meituan LongCat OpenAI-compatible API at &lt;code&gt;https://api.longcat.chat/openai/v1&lt;/code&gt;; uses &lt;code&gt;LONGCAT_API_KEY&lt;/code&gt; and defaults to &lt;code&gt;LongCat-2.0&lt;/code&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;ClinePass&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;/provider&lt;/code&gt; or env vars&lt;/td&gt;
					&lt;td&gt;AI model gateway with usage limits (5hr, weekly, monthly); uses &lt;code&gt;CLINE_API_KEY&lt;/code&gt; at &lt;code&gt;https://api.cline.bot/api/v1&lt;/code&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Gemini&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;/provider&lt;/code&gt; or env vars&lt;/td&gt;
					&lt;td&gt;Supports API key only&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;GitHub Models&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;/onboard-github&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;Interactive onboarding with saved credentials&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Codex OAuth&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;/provider&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;Opens ChatGPT sign-in in your browser and stores Codex credentials securely&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Codex&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;/provider&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;Uses existing Codex CLI auth, OpenClaude secure storage, or env credentials&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Gitlawb Opengateway&lt;/td&gt;
					&lt;td&gt;Startup default, &lt;code&gt;/provider&lt;/code&gt;, or env vars&lt;/td&gt;
					&lt;td&gt;Smart gateway at &lt;code&gt;https://opengateway.gitlawb.com/v1&lt;/code&gt;; requires an API key from &lt;a class=&#34;link&#34; href=&#34;https://gitlawb.com/opengateway/keys&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://gitlawb.com/opengateway/keys&lt;/a&gt; and routes Xiaomi MiMo and GMI Cloud partner models by &lt;code&gt;OPENAI_MODEL&lt;/code&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;OpenCode Zen&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;/provider&lt;/code&gt; or env vars&lt;/td&gt;
					&lt;td&gt;Pay-as-you-go AI gateway (48 models); uses &lt;code&gt;OPENCODE_API_KEY&lt;/code&gt; via &lt;code&gt;https://opencode.ai/zen/v1&lt;/code&gt;; shared key with OpenCode Go&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;OpenCode Go&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;/provider&lt;/code&gt; or env vars&lt;/td&gt;
					&lt;td&gt;$10/mo subscription for open models (13 models); uses &lt;code&gt;OPENCODE_API_KEY&lt;/code&gt; via &lt;code&gt;https://opencode.ai/zen/go/v1&lt;/code&gt;; shared key with OpenCode Zen&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Xiaomi MiMo&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;/provider&lt;/code&gt; or env vars&lt;/td&gt;
					&lt;td&gt;OpenAI-compatible API at &lt;code&gt;https://mimo.mi.com&lt;/code&gt;; uses &lt;code&gt;MIMO_API_KEY&lt;/code&gt; and defaults to &lt;code&gt;mimo-v2.5-pro&lt;/code&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;NEAR AI&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;/provider&lt;/code&gt; or env vars&lt;/td&gt;
					&lt;td&gt;Unified gateway (Claude, GPT, Gemini + TEE open models); uses &lt;code&gt;NEARAI_API_KEY&lt;/code&gt; at &lt;code&gt;https://cloud-api.near.ai/v1&lt;/code&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Cloudflare Workers AI&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;/provider&lt;/code&gt; or env vars&lt;/td&gt;
					&lt;td&gt;OpenAI-compatible API at &lt;code&gt;https://api.cloudflare.com/client/v4/accounts/&amp;lt;ACCOUNT_ID&amp;gt;/ai/v1&lt;/code&gt;; uses &lt;code&gt;CLOUDFLARE_API_TOKEN&lt;/code&gt;. Replace &lt;code&gt;&amp;lt;ACCOUNT_ID&amp;gt;&lt;/code&gt; with your Cloudflare account id.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Ollama&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;/provider&lt;/code&gt; or env vars&lt;/td&gt;
					&lt;td&gt;Local inference with no API key&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Atomic Chat&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;/provider&lt;/code&gt;, env vars, or &lt;code&gt;bun run dev:atomic-chat&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;Local Model Provider; auto-detects loaded models&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Bedrock / Vertex / Foundry&lt;/td&gt;
					&lt;td&gt;env vars&lt;/td&gt;
					&lt;td&gt;Anthropic-family cloud routes; Vertex is for Claude on Vertex AI, not arbitrary Model Garden models&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&#34;what-works&#34;&gt;What Works
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Tool-driven coding workflows&lt;/strong&gt;: Bash, file read/write/edit, grep, glob, agents, tasks, MCP, and slash commands&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Streaming responses&lt;/strong&gt;: Real-time token output and tool progress&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Tool calling&lt;/strong&gt;: Multi-step tool loops with model calls, tool execution, and follow-up responses&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Images&lt;/strong&gt;: URL and base64 image inputs for providers that support vision&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Provider profiles&lt;/strong&gt;: Guided setup plus saved user-level provider profile support&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Local and remote model backends&lt;/strong&gt;: Cloud APIs, local servers, and Apple Silicon local inference&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Codebase intelligence (repo map)&lt;/strong&gt;: Structural map of the repository ranked by PageRank importance, auto-injected into context when the &lt;code&gt;REPO_MAP&lt;/code&gt; flag is enabled or the &lt;code&gt;REPO_MAP&lt;/code&gt; environment variable is set. Inspect with &lt;code&gt;/repomap&lt;/code&gt; (2048-token default). See &lt;a class=&#34;link&#34; href=&#34;docs/repo-map.md&#34; &gt;docs/repo-map.md&lt;/a&gt; for details.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;A companion with signature moves&lt;/strong&gt;: A truecolor pixel-art hero who lives beside your prompt and reacts when you work. See below.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;meet-your-buddy&#34;&gt;Meet Your Buddy
&lt;/h2&gt;&lt;p&gt;Run &lt;code&gt;/buddy&lt;/code&gt; to hatch a companion — a truecolor pixel-art hero who stands
beside your prompt, idles, blinks, and fires their signature move every time
you submit a message:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/buddy                  hatch (first run) or pet your companion
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/buddy set robinhood    the green archer — arrow shot on every Enter
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/buddy set kaio         gold-haired warrior — charges a full-width energy wave
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/buddy set strawhat     stretchy punch that snaps back
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/buddy set merlin       twinkling sparkle stream
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/buddy set kage         spinning shuriken
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/buddy set ember        dragon fire with a real heat gradient
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/buddy set corsair      cannonball with smoke trail
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/buddy name Robin       rename your companion
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/buddy set random       back to your rolled hero
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Companions respect &lt;code&gt;prefersReducedMotion&lt;/code&gt;, degrade gracefully to line art in
low-color terminals, and can be silenced with &lt;code&gt;/buddy mute&lt;/code&gt;. Requires a
terminal at least 100 columns wide for the full sprite.&lt;/p&gt;
&lt;h2 id=&#34;provider-notes&#34;&gt;Provider Notes
&lt;/h2&gt;&lt;p&gt;OpenClaude supports multiple providers, but behavior is not identical across all of them.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Anthropic-specific features may not exist on other providers&lt;/li&gt;
&lt;li&gt;Tool quality depends heavily on the selected model&lt;/li&gt;
&lt;li&gt;Smaller local models can struggle with long multi-step tool flows&lt;/li&gt;
&lt;li&gt;Some providers impose lower output caps than the CLI defaults, and OpenClaude adapts where possible&lt;/li&gt;
&lt;li&gt;AI/ML API uses the OpenAI-compatible route, defaults to &lt;code&gt;gpt-4o&lt;/code&gt;, and only surfaces chat-capable models from its public catalog&lt;/li&gt;
&lt;li&gt;Gitlawb Opengateway is the fresh-install startup default and requires an API key from &lt;a class=&#34;link&#34; href=&#34;https://gitlawb.com/opengateway/keys&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://gitlawb.com/opengateway/keys&lt;/a&gt;. It uses one OpenAI-compatible base URL; switch between &lt;code&gt;mimo-*&lt;/code&gt; and &lt;code&gt;google/gemini-3.1-flash-lite-preview&lt;/code&gt; with &lt;code&gt;/model&lt;/code&gt;, and do not pin the base URL to &lt;code&gt;/v1/xiaomi-mimo&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Z.AI GLM Coding Plan uses &lt;code&gt;https://api.z.ai/api/coding/paas/v4&lt;/code&gt; with &lt;code&gt;glm-5.2&lt;/code&gt; by default. GLM-5.3 is selectable as &lt;code&gt;glm-5.3&lt;/code&gt;; use &lt;code&gt;glm-5.3?reasoning=low&lt;/code&gt;, &lt;code&gt;glm-5.3?reasoning=high&lt;/code&gt;, or &lt;code&gt;glm-5.3?reasoning=xhigh&lt;/code&gt; to request its documented low, high, or maximum effort. The existing GLM-5.2 query controls remain supported.&lt;/li&gt;
&lt;li&gt;Xiaomi MiMo uses &lt;code&gt;api-key&lt;/code&gt; header auth on the direct OpenAI-compatible route and currently does not support &lt;code&gt;/usage&lt;/code&gt; reporting in OpenClaude&lt;/li&gt;
&lt;li&gt;GitHub Copilot serializes sub-agent execution by default to reduce Premium Request consumption — see &lt;a class=&#34;link&#34; href=&#34;docs/agent-routing.md#github-copilot-sub-agent-optimization&#34; &gt;Agent Routing and Step Limits&lt;/a&gt; for tuning&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For best results, use models with strong tool/function calling support.&lt;/p&gt;
&lt;h2 id=&#34;agents&#34;&gt;Agents
&lt;/h2&gt;&lt;p&gt;Route different agents to different models (cost optimization, splitting work
by model strength), cap sub-agent tool steps with &lt;code&gt;maxSteps&lt;/code&gt;, and tune GitHub
Copilot sub-agent behavior. Configured via settings, agent frontmatter, and
environment variables:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;per-agent provider/model overrides via &lt;code&gt;agentModels&lt;/code&gt; + &lt;code&gt;agentRouting&lt;/code&gt; in &lt;code&gt;~/.openclaude/settings.json&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;model-only routes that reuse your current provider&amp;rsquo;s credentials&lt;/li&gt;
&lt;li&gt;built-in agents (&lt;code&gt;Explore&lt;/code&gt; and &lt;code&gt;Plan&lt;/code&gt; [feature-gated], &lt;code&gt;verification&lt;/code&gt; [feature-gated: requires &lt;code&gt;VERIFICATION_AGENT&lt;/code&gt; + &lt;code&gt;tengu_hive_evidence&lt;/code&gt;], &lt;code&gt;code-reviewer&lt;/code&gt; [requires diff inline]) routable by type name&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;See &lt;a class=&#34;link&#34; href=&#34;docs/agent-routing.md&#34; &gt;Agent Routing and Step Limits&lt;/a&gt; for the full guide.&lt;/p&gt;
&lt;h2 id=&#34;web-search-and-fetch&#34;&gt;Web Search and Fetch
&lt;/h2&gt;&lt;p&gt;By default, &lt;code&gt;WebSearch&lt;/code&gt; works on non-Anthropic models using DuckDuckGo. This gives GPT-4o, DeepSeek, Gemini, Ollama, and other OpenAI-compatible providers a free web search path out of the box.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; DuckDuckGo fallback works by scraping search results and may be rate-limited, blocked, or subject to DuckDuckGo&amp;rsquo;s Terms of Service. If you want a more reliable supported option, configure Firecrawl.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;For Anthropic-native backends and Codex responses, OpenClaude keeps the native provider web search behavior.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;WebFetch&lt;/code&gt; works, but its basic HTTP plus HTML-to-markdown path can still fail on JavaScript-rendered sites or sites that block plain HTTP requests.&lt;/p&gt;
&lt;p&gt;Set a &lt;a class=&#34;link&#34; href=&#34;https://firecrawl.dev&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Firecrawl&lt;/a&gt; API key if you want Firecrawl-powered search/fetch behavior:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;FIRECRAWL_API_KEY&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;your-key-here
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;With Firecrawl enabled:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;WebSearch&lt;/code&gt; can use Firecrawl&amp;rsquo;s search API while DuckDuckGo remains the default free path for non-Claude models&lt;/li&gt;
&lt;li&gt;&lt;code&gt;WebFetch&lt;/code&gt; uses Firecrawl&amp;rsquo;s scrape endpoint instead of raw HTTP, handling JS-rendered pages correctly&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Free tier at &lt;a class=&#34;link&#34; href=&#34;https://firecrawl.dev&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;firecrawl.dev&lt;/a&gt; includes 500 credits. The key is optional.&lt;/p&gt;
&lt;h2 id=&#34;headless-grpc-server&#34;&gt;Headless gRPC Server
&lt;/h2&gt;&lt;p&gt;OpenClaude can run as a headless gRPC service with bidirectional streaming —
integrate its agentic capabilities into other applications, CI/CD pipelines,
or custom UIs. Start it with &lt;code&gt;npm run dev:grpc&lt;/code&gt;; a test CLI client ships with
the repo. See &lt;a class=&#34;link&#34; href=&#34;docs/grpc-server.md&#34; &gt;Headless gRPC Server&lt;/a&gt; for configuration
and client generation from &lt;code&gt;src/proto/openclaude.proto&lt;/code&gt;.&lt;/p&gt;
&lt;h2 id=&#34;development&#34;&gt;Development
&lt;/h2&gt;&lt;p&gt;Use Node.js &lt;code&gt;&amp;gt;=22.0.0&lt;/code&gt; and Bun &lt;code&gt;1.3.13&lt;/code&gt; or newer for source builds.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bun install
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bun run build
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;node dist/cli.mjs
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Day-to-day commands:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;bun run dev&lt;/code&gt; — build and launch from source&lt;/li&gt;
&lt;li&gt;&lt;code&gt;bun test&lt;/code&gt; — full unit suite (Bun&amp;rsquo;s built-in runner)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;bun test path/to/file.test.ts&lt;/code&gt; — focused runs for the areas you touch&lt;/li&gt;
&lt;li&gt;&lt;code&gt;bun run test:coverage&lt;/code&gt; — coverage to &lt;code&gt;coverage/lcov.info&lt;/code&gt; plus a visual report at &lt;code&gt;coverage/index.html&lt;/code&gt; (&lt;code&gt;bun run test:coverage:ui&lt;/code&gt; rebuilds just the UI)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;bun run smoke&lt;/code&gt; — smoke checks&lt;/li&gt;
&lt;li&gt;&lt;code&gt;bun run doctor:runtime&lt;/code&gt;, &lt;code&gt;bun run verify:privacy&lt;/code&gt;; for PR intent scanning, use the fresh-upstream, explicit-ref workflow in the &lt;a class=&#34;link&#34; href=&#34;CONTRIBUTING.md#validation&#34; &gt;local pre-push validation contract&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Focused suites: &lt;code&gt;bun run test:provider&lt;/code&gt;, &lt;code&gt;bun run test:provider-recommendation&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;To benchmark the launcher module compile cache, build the CLI and run:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bun run build
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bun run benchmark:startup
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;The benchmark requires Node &lt;code&gt;&amp;gt;=22.8.0&lt;/code&gt;, where the compile-cache API was added;
the built OpenClaude launcher continues to support the declared Node &lt;code&gt;&amp;gt;=22.0.0&lt;/code&gt;
runtime range.&lt;/p&gt;
&lt;p&gt;The benchmark defaults to 30 separate-process warm runs and 10 isolated
empty-cache runs. It reports the median, IQR, MAD, first cache-populating run,
first warm-up, Node/OS/CPU details, bundle size, and commit. Direct bundle
timings are included only as a secondary diagnostic; the full launcher result
is the decision signal. Use
&lt;code&gt;bun run benchmark:startup -- --warm-runs 40 --cold-runs 10&lt;/code&gt; to request a
larger sample set. The benchmark records results without enforcing a timing
threshold in CI.&lt;/p&gt;
&lt;p&gt;OpenClaude leaves Node&amp;rsquo;s standard compile-cache controls authoritative. Set
&lt;code&gt;NODE_DISABLE_COMPILE_CACHE=1&lt;/code&gt; to disable the optimization, including for V8
coverage runs that require uncached compilation.&lt;/p&gt;
&lt;p&gt;Before opening or updating a PR, run the authoritative &lt;a class=&#34;link&#34; href=&#34;CONTRIBUTING.md#validation&#34; &gt;local pre-push validation contract&lt;/a&gt;. The commands below are useful for narrow iteration, but they do not replace that required preflight:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;bun run build&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;bun run smoke&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;bun run test:coverage&lt;/code&gt; when your change affects shared runtime or provider logic&lt;/li&gt;
&lt;li&gt;focused &lt;code&gt;bun test ...&lt;/code&gt; runs for the files and flows you changed&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;repository-structure&#34;&gt;Repository Structure
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;src/&lt;/code&gt; - core CLI/runtime&lt;/li&gt;
&lt;li&gt;&lt;code&gt;scripts/&lt;/code&gt; - build, verification, and maintenance scripts&lt;/li&gt;
&lt;li&gt;&lt;code&gt;docs/&lt;/code&gt; - setup, contributor, and project documentation&lt;/li&gt;
&lt;li&gt;&lt;code&gt;vscode-extension/openclaude-vscode/&lt;/code&gt; - VS Code extension&lt;/li&gt;
&lt;li&gt;&lt;code&gt;.github/&lt;/code&gt; - repo automation, templates, and CI configuration&lt;/li&gt;
&lt;li&gt;&lt;code&gt;bin/&lt;/code&gt; - CLI launcher entrypoints&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;vs-code-extension&#34;&gt;VS Code Extension
&lt;/h2&gt;&lt;p&gt;The repo includes a VS Code extension in &lt;a class=&#34;link&#34; href=&#34;vscode-extension/openclaude-vscode&#34; &gt;&lt;code&gt;vscode-extension/openclaude-vscode&lt;/code&gt;&lt;/a&gt; for OpenClaude launch integration, provider-aware Control Center, in-editor chat, theme support, and optional &lt;strong&gt;Microsoft Foundry / Azure OpenAI&lt;/strong&gt; configuration (endpoint, API version, deployment, API key via Secret Storage) injected into launched terminals. See that folder&amp;rsquo;s &lt;a class=&#34;link&#34; href=&#34;vscode-extension/openclaude-vscode/README.md&#34; &gt;README&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;security&#34;&gt;Security
&lt;/h2&gt;&lt;p&gt;If you believe you found a security issue, see &lt;a class=&#34;link&#34; href=&#34;SECURITY.md&#34; &gt;SECURITY.md&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;community&#34;&gt;Community
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;Use &lt;a class=&#34;link&#34; href=&#34;https://github.com/Gitlawb/openclaude/discussions&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;GitHub Discussions&lt;/a&gt; for Q&amp;amp;A, ideas, and community conversation&lt;/li&gt;
&lt;li&gt;Use &lt;a class=&#34;link&#34; href=&#34;https://github.com/Gitlawb/openclaude/issues&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;GitHub Issues&lt;/a&gt; for confirmed bugs and actionable feature work&lt;/li&gt;
&lt;li&gt;Join the &lt;a class=&#34;link&#34; href=&#34;https://discord.gg/k68zFR6AcB&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Discord&lt;/a&gt; to chat with the community in real time&lt;/li&gt;
&lt;li&gt;Follow &lt;a class=&#34;link&#34; href=&#34;https://x.com/gitlawb&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;@gitlawb on X&lt;/a&gt; for updates and announcements&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;contributing&#34;&gt;Contributing
&lt;/h2&gt;&lt;p&gt;Contributions are welcome. For larger changes, open an issue first so the
scope is clear before implementation. See &lt;a class=&#34;link&#34; href=&#34;#development&#34; &gt;Development&lt;/a&gt; for the
build, test, and pre-PR validation commands.&lt;/p&gt;
&lt;h2 id=&#34;disclaimer&#34;&gt;Disclaimer
&lt;/h2&gt;&lt;p&gt;OpenClaude is an independent community project and is not affiliated with, endorsed by, or sponsored by Anthropic.&lt;/p&gt;
&lt;p&gt;OpenClaude originated from the Claude Code codebase and has since been substantially modified to support multiple providers and open use. &amp;ldquo;Claude&amp;rdquo; and &amp;ldquo;Claude Code&amp;rdquo; are trademarks of Anthropic PBC. See &lt;a class=&#34;link&#34; href=&#34;LICENSE&#34; &gt;LICENSE&lt;/a&gt; for details.&lt;/p&gt;
&lt;h2 id=&#34;license&#34;&gt;License
&lt;/h2&gt;&lt;p&gt;MIT for OpenClaude contributors&amp;rsquo; modifications; the derived Claude Code remains Anthropic&amp;rsquo;s. &lt;a class=&#34;link&#34; href=&#34;LICENSE&#34; &gt;See more&lt;/a&gt;.&lt;/p&gt;
</description>
        </item>
        
    </channel>
</rss>
