<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:webfeeds="http://webfeeds.org/rss/1.0"><channel><title>celular | Self-Hosted!</title><link>https://blog.brumarino.com/tags/celular/</link><description>Post novo no “Rack” todo dia às 7AM. Proxmox, rede, backup, UPS, IA e tudo o que tenho estudado.</description><language>pt-BR</language><managingEditor>Bruno Marino</managingEditor><image><url>https://blog.brumarino.com/brand/icon-144.png</url><title>celular | Self-Hosted!</title><link>https://blog.brumarino.com/tags/celular/</link><width>144</width><height>144</height></image><webfeeds:icon>https://blog.brumarino.com/brand/icon-192.png</webfeeds:icon><webfeeds:logo>https://blog.brumarino.com/brand/symbol.svg</webfeeds:logo><webfeeds:accentColor>2B3036</webfeeds:accentColor><lastBuildDate>Thu, 22 Oct 2026 07:00:00 -0300</lastBuildDate><atom:link href="https://blog.brumarino.com/tags/celular/index.xml" rel="self" type="application/rss+xml"/><item><title>Claude Code pelo celular: tmux, /resume e /remote-control</title><link>https://blog.brumarino.com/claude-code-celular-tmux-resume/</link><pubDate>Thu, 22 Oct 2026 07:00:00 -0300</pubDate><guid>https://blog.brumarino.com/claude-code-celular-tmux-resume/</guid><category>IA no homelab</category><description>Uso o Claude Code nos containers do homelab até pelo celular. Quando uso o tmux, o /resume e o /remote-control, e o problema que cada um resolve.</description><content:encoded><![CDATA[<p>Eu uso o Claude Code nos containers do homelab, e uma pergunta aparece sempre: &ldquo;e quando você não está no computador?&rdquo;. A resposta tem três peças, e cada uma resolve um problema diferente: o <strong>tmux</strong>, o <strong><code>/resume</code></strong> e o <strong><code>/remote-control</code></strong>.</p>
<p>Neste post conto em que situação uso cada um, com o acesso pelo celular que descrevi no post sobre o <a href="/termius-iphone-homelab-ssh/">Termius no iPhone</a>. Os comandos estão conferidos na documentação oficial do Claude Code.</p>
<h2 id="três-problemas-diferentes">Três problemas diferentes <a class="anchor" href="#tr%c3%aas-problemas-diferentes" aria-label="Link para esta seção">#</a></h2>
<p>Antes das ferramentas, vale separar os problemas, porque muita gente mistura:</p>
<ol>
<li><strong>A sessão precisa continuar rodando quando eu desconecto.</strong> Se o SSH cai, o processo que estava no terminal morre junto. Para uma tarefa longa ou repetitiva, isso é um problema.</li>
<li><strong>Eu quero voltar a uma conversa que já terminou.</strong> Fechei o terminal ontem e quero continuar de onde parei, com todo o contexto.</li>
<li><strong>Eu quero usar a sessão por uma interface melhor que o terminal do celular</strong>, por exemplo para mandar um arquivo ou uma foto.</li>
</ol>
<p>O tmux resolve o primeiro, o <code>/resume</code> resolve o segundo e o <code>/remote-control</code> resolve o terceiro.</p>
<h2 id="tmux-a-sessão-que-não-morre-com-o-ssh">tmux: a sessão que não morre com o SSH <a class="anchor" href="#tmux-a-sess%c3%a3o-que-n%c3%a3o-morre-com-o-ssh" aria-label="Link para esta seção">#</a></h2>
<p>O tmux é um multiplexador de terminal. Ele mantém os programas rodando num &ldquo;terminal virtual&rdquo; no servidor, independente da sua conexão. Você se desconecta, o processo continua, e depois você se reconecta e encontra tudo como deixou.</p>
<p>Eu uso o tmux <strong>só nas máquinas em que preciso manter o Claude Code acordado</strong> para tarefas repetitivas, e sempre com <strong>uma única sessão</strong>. Não transformei o tmux em ferramenta para tudo. Ele está onde faz falta.</p>
<p>O básico para esse uso:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># cria a sessão com um nome e abre o Claude Code dentro dela</span>
</span></span><span class="line"><span class="cl">tmux new -s claude
</span></span><span class="line"><span class="cl">claude
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># sai sem fechar nada: Ctrl+b e depois d</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># volta para a sessão (de outro SSH, do celular...)</span>
</span></span><span class="line"><span class="cl">tmux attach -t claude
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># lista as sessões abertas</span>
</span></span><span class="line"><span class="cl">tmux ls
</span></span></code></pre></div><p>O atalho <code>Ctrl+b</code> seguido de <code>d</code> (de <em>detach</em>) é o que mais importa. Ele solta o terminal e deixa a sessão rodando.</p>
<aside class="alert alert--tip">
  <p class="alert__title">Dica</p>
  <p>Use um nome fixo para a sessão, como <code>claude</code>. Assim o comando para voltar é sempre o mesmo, e no celular você não precisa ficar lembrando ou listando.</p>
</aside><h2 id="resume-voltar-à-conversa-não-ao-processo"><code>/resume</code>: voltar à conversa, não ao processo <a class="anchor" href="#resume-voltar-%c3%a0-conversa-n%c3%a3o-ao-processo" aria-label="Link para esta seção">#</a></h2>
<p>O tmux mantém o <em>processo</em> vivo. O <code>/resume</code> é outra coisa: ele traz de volta uma <em>conversa</em> que já acabou. Pela documentação, o Claude Code salva todas as conversas localmente, e há três formas de voltar:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># continua a conversa mais recente desta pasta</span>
</span></span><span class="line"><span class="cl">claude --continue
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># abre uma lista para escolher qual conversa retomar</span>
</span></span><span class="line"><span class="cl">claude --resume
</span></span></code></pre></div><p>E, com o Claude Code já aberto, o comando <code>/resume</code> abre a mesma lista de conversas.</p>
<p>Eu uso o <code>/resume</code> <strong>sempre que volto a um projeto</strong>. É por isso que nunca perdi trabalho por queda de conexão: mesmo quando o SSH cai e o processo morre, a conversa está salva. Abro de novo, retomo e sigo com o contexto inteiro, sem explicar tudo de novo.</p>
<p>O detalhe que importa é a pasta. O <code>--continue</code> pega a conversa mais recente <strong>do diretório em que você está</strong>, então entre na pasta do projeto antes de rodar.</p>
<h2 id="remote-control-a-sessão-no-app-ou-no-navegador"><code>/remote-control</code>: a sessão no app ou no navegador <a class="anchor" href="#remote-control-a-sess%c3%a3o-no-app-ou-no-navegador" aria-label="Link para esta seção">#</a></h2>
<p>O terceiro caso é quando o terminal não é a melhor interface. Mandar um print de um erro ou um arquivo pelo terminal do celular não é prático. Para isso existe o <strong>Remote Control</strong>.</p>
<p>Pela documentação, ele conecta uma sessão do Claude Code que está rodando na sua máquina ao site claude.ai/code ou ao app Claude no celular. O ponto importante: <strong>o Claude continua rodando localmente</strong>, no seu container. O app e o navegador são só uma janela para essa sessão, e os arquivos, ferramentas e configurações do projeto continuam no servidor.</p>
<p>Há três formas de ligar:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># modo servidor: fica esperando conexões e mostra um link (e um QR code)</span>
</span></span><span class="line"><span class="cl">claude remote-control
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># sessão interativa normal, já disponível remotamente</span>
</span></span><span class="line"><span class="cl">claude --remote-control
</span></span></code></pre></div><p>E, numa sessão que já está aberta, o comando <code>/remote-control</code> (ou <code>/rc</code>) conecta a conversa atual. Rodar <code>/remote-control</code> de novo mostra o link e permite desconectar.</p>
<p>Eu uso o <code>/remote-control</code> <strong>quando preciso interagir pela web</strong>, por exemplo para enviar arquivos. A documentação confirma que dá para anexar fotos e arquivos pelo app ou pelo navegador: o Claude vê as fotos direto e os outros arquivos são baixados para a máquina e passados como referência.</p>
<aside class="alert alert--warning">
  <p class="alert__title">Atenção</p>
  <p>Pela documentação, o Remote Control exige login no Claude Code com uma conta dos planos Pro, Max, Team ou Enterprise. Chave de API não funciona. Em Team e Enterprise, um administrador precisa ligar o recurso antes.</p>
</aside><p>Outro detalhe: como a sessão roda na sua máquina, ela precisa continuar ligada e com o processo <code>claude</code> vivo. É aqui que o tmux e o Remote Control se juntam bem: o tmux mantém o processo rodando, e o Remote Control dá a interface.</p>
<h2 id="como-eu-combino-os-três">Como eu combino os três <a class="anchor" href="#como-eu-combino-os-tr%c3%aas" aria-label="Link para esta seção">#</a></h2>
<p>Na prática, o meu uso fica assim:</p>
<ul>
<li><strong>Tarefa repetitiva que precisa continuar rodando:</strong> Claude Code dentro de uma sessão do tmux, na máquina onde ele precisa ficar acordado.</li>
<li><strong>Voltar a um projeto no dia seguinte ou depois de uma queda:</strong> <code>/resume</code>, sempre.</li>
<li><strong>Mandar arquivo ou trabalhar pela interface web:</strong> <code>/remote-control</code>.</li>
</ul>
<p>E dá para fazer tudo isso pelo celular, com o Termius e o acesso pelo Cloudflare Tunnel: entrar no container por SSH, voltar para a sessão e seguir.</p>
<h2 id="cuidados">Cuidados <a class="anchor" href="#cuidados" aria-label="Link para esta seção">#</a></h2>
<p>Ter o Claude Code acessível de qualquer lugar é ótimo, mas lembre do que ele é: uma ferramenta que executa comandos de verdade. As regras que contei no post sobre <a href="/ia-reconstruir-homelab-claude-code/">como a IA me ajudou a reconstruir o homelab</a> valem em dobro aqui:</p>
<ul>
<li>ele trabalha nos containers e nas aplicações, <strong>nunca no host do Proxmox</strong>;</li>
<li>segredos ficam em arquivos <code>.env</code> fora do código, com permissão <code>600</code>;</li>
<li>nada sai para fora nem gasta dinheiro sem a minha confirmação.</li>
</ul>
<h2 id="resumindo">Resumindo <a class="anchor" href="#resumindo" aria-label="Link para esta seção">#</a></h2>
<ul>
<li><strong>tmux</strong> mantém o processo vivo quando o SSH cai. Use onde a sessão precisa ficar acordada.</li>
<li><strong><code>/resume</code></strong> (ou <code>claude --continue</code> e <code>claude --resume</code>) traz de volta conversas que já terminaram, com o contexto.</li>
<li><strong><code>/remote-control</code></strong> leva a sessão local para o app ou o navegador, inclusive para mandar arquivos.</li>
<li>Os três se completam: processo vivo, conversa salva e uma interface melhor quando precisa.</li>
</ul>
<p>Com isso, o computador deixou de ser obrigatório para mexer nos meus projetos. O trabalho fica no servidor, e eu acesso de onde estiver.</p>
]]></content:encoded></item></channel></rss>