<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>OpenClaw on miti99</title><link>https://miti99.com/tags/openclaw/</link><description>Recent content in OpenClaw on miti99</description><generator>Hugo -- gohugo.io</generator><language>vi</language><lastBuildDate>Sun, 05 Apr 2026 13:08:46 +0700</lastBuildDate><atom:link href="https://miti99.com/tags/openclaw/index.xml" rel="self" type="application/rss+xml"/><item><title>Sửa lỗi 'Pairing Required' khi kết nối OpenClaw qua Docker</title><link>https://miti99.com/post/2026/04/05/</link><pubDate>Sun, 05 Apr 2026 00:00:00 +0700</pubDate><guid>https://miti99.com/post/2026/04/05/</guid><description>&lt;p&gt;Nếu bạn đang self-host &lt;a class="link" href="https://github.com/open-claw/open-claw" target="_blank" rel="noopener"
&gt;OpenClaw&lt;/a&gt; bằng Docker và gặp lỗi &lt;strong&gt;&amp;ldquo;disconnected (1008): pairing required&amp;rdquo;&lt;/strong&gt; khi truy cập từ trình duyệt, bài viết này sẽ giúp bạn khắc phục nhanh chóng.&lt;/p&gt;
&lt;h2 id="vấn-đề"&gt;Vấn đề
&lt;/h2&gt;&lt;p&gt;Khi setup OpenClaw với Docker trên Ubuntu, trình duyệt hiển thị lỗi:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;disconnected (1008): pairing required
&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;Thử dùng CLI để approve device thì lại gặp lỗi &lt;strong&gt;&amp;ldquo;gateway token mismatch&amp;rdquo;&lt;/strong&gt; — CLI trong Docker container không resolve đúng authentication token từ file config.&lt;/p&gt;
&lt;h2 id="nguyên-nhân"&gt;Nguyên nhân
&lt;/h2&gt;&lt;p&gt;Token xác thực giữa host và Docker container bị lệch. CLI bên trong container không đọc đúng token từ file &lt;code&gt;openclaw.json&lt;/code&gt;, dẫn đến việc không thể list hay approve device.&lt;/p&gt;
&lt;h2 id="cách-sửa"&gt;Cách sửa
&lt;/h2&gt;&lt;h3 id="bước-1-lấy-gateway-token-từ-host"&gt;Bước 1: Lấy Gateway Token từ host
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;cat ~/.openclaw/openclaw.json &lt;span class="p"&gt;|&lt;/span&gt; grep -A5 &lt;span class="s1"&gt;&amp;#39;&amp;#34;auth&amp;#34;&amp;#39;&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;Copy giá trị token dưới mục &lt;code&gt;gateway.auth&lt;/code&gt;.&lt;/p&gt;
&lt;h3 id="bước-2-kiểm-tra-token-trong-container"&gt;Bước 2: Kiểm tra token trong container
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;docker ps &lt;span class="c1"&gt;# Lấy CONTAINER_ID của openclaw-gateway&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;docker &lt;span class="nb"&gt;exec&lt;/span&gt; -it &amp;lt;CONTAINER_ID&amp;gt; cat /home/node/.openclaw/openclaw.json &lt;span class="p"&gt;|&lt;/span&gt; grep -A5 &lt;span class="s1"&gt;&amp;#39;&amp;#34;auth&amp;#34;&amp;#39;&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;Xác nhận token giữa host và container có khớp không.&lt;/p&gt;
&lt;h3 id="bước-3-list-devices-với-token-override"&gt;Bước 3: List devices với token override
&lt;/h3&gt;&lt;p&gt;Inject token trực tiếp qua biến môi trường &lt;code&gt;-e&lt;/code&gt; khi chạy lệnh trong container:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;docker &lt;span class="nb"&gt;exec&lt;/span&gt; -e &lt;span class="nv"&gt;OPENCLAW_GATEWAY_TOKEN&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&amp;lt;YOUR_TOKEN&amp;gt; -it &amp;lt;CONTAINER_ID&amp;gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; openclaw devices list
&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;Lệnh này sẽ hiển thị danh sách các device đang chờ approve kèm &lt;strong&gt;Request ID&lt;/strong&gt;.&lt;/p&gt;
&lt;h3 id="bước-4-approve-device"&gt;Bước 4: Approve device
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;docker compose &lt;span class="nb"&gt;exec&lt;/span&gt; openclaw-gateway &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; openclaw devices approve &amp;lt;REQUEST_ID&amp;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="bước-5-kiểm-tra-kết-quả"&gt;Bước 5: Kiểm tra kết quả
&lt;/h3&gt;&lt;p&gt;Truy cập lại &lt;code&gt;http://localhost:18789&lt;/code&gt; trên trình duyệt — lỗi pairing sẽ biến mất.&lt;/p&gt;
&lt;h2 id="lưu-ý"&gt;Lưu ý
&lt;/h2&gt;&lt;p&gt;Mấu chốt của cách sửa này là inject token qua biến môi trường (&lt;code&gt;-e OPENCLAW_GATEWAY_TOKEN=...&lt;/code&gt;) thay vì truyền qua command-line flag, vì CLI trong Docker không xử lý đúng flag token.&lt;/p&gt;
&lt;h2 id="tham-khảo"&gt;Tham khảo
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://www.linkedin.com/pulse/fixing-openclaw-dockers-pairing-required-dead-end-ubuntu-rik-banerjee-j09de/" target="_blank" rel="noopener"
&gt;Fixing OpenClaw Docker&amp;rsquo;s &amp;ldquo;Pairing Required&amp;rdquo; Dead End on Ubuntu - Rik Banerjee&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item></channel></rss>