ఫోన్ నుంచి Claude Code ఎలా ఉపయోగించాలి
Claude Code VPSలో tmux sessionలో నడుస్తుంది, ఫోన్ కేవలం తెరగా పనిచేస్తుంది. SSH keys, mobile dataలో స్థిరత్వానికి mosh, tmux attach, ఉపయోగకరమైన keyboard పరిష్కారాలు తెలుసుకోండి.
మీ phone నుంచి Claude Code: ఇది వాస్తవంగా ఎలా పనిచేస్తుంది
మీ phone నుంచి Claude Code ఉపయోగించడం mobile app ద్వారా జరగదు. Claude Code ఒక VPS (virtual private server)లో, తెరిచి ఉండే tmux sessionలో పనిచేస్తుంది. మీరు ఆ sessionను చూస్తున్నంతకాలం మీ phone ఆ sessionకు SSH (secure shell) connectionను తెరిచి ఉంచుతుంది. మీరు appను మూసివేసినా agent పని కొనసాగిస్తుంది, ఎందుకంటే process phoneలో ఎప్పుడూ నడవలేదు.
ఈ విభజనే మొత్తం రూపకల్పనకు ఆధారం. మీరు app నుంచి బయటకు మారిన కొన్ని సెకన్ల తర్వాత phone operating system ఆ appను suspend చేస్తుంది. అందువల్ల phoneలో ప్రారంభించిన దీర్ఘకాలిక పని ఆగిపోతుంది. అలాగే, మీరు wifi నుంచి mobile dataకి మారిన ప్రతిసారి phoneకు కొత్త network address వస్తుంది. Process serverలో నడవడం, phone కేవలం screenను చూపించడం వల్ల ఈ రెండు సమస్యలు తొలగిపోతాయి.
Serverలో మీకు నాలుగు విషయాలు అవసరం: sessionను నిలుపుకోవడానికి tmux, login చేయడానికి SSH keys, network మార్పులను నిర్వహించడానికి mosh, మరియు Claude Code. Phone వైపు చేరుకోగల key row ఉన్న ఒక terminal app మాత్రమే అవసరం.
VPSలో మీకు అవసరమైనవి
SSH మరియు tmux భాగాలకు చిన్న Ubuntu 24.04 సర్వర్ సరిపోతుంది. Claude Codeకు మరిన్ని వనరులు అవసరం. July 2026 నాటికి అధికారిక అవసరాలు x64 లేదా ARM64 processorపై Ubuntu 20.04 లేదా ఆ తర్వాతి వెర్షన్, అలాగే 4 GB లేదా అంతకంటే ఎక్కువ RAM. 1 GB planలో ఇది install అవుతుంది. కానీ load సమయంలో kernel ఆ processను నిలిపివేస్తుంది. Claude Codeకు paid Claude account (Pro, Max, Team లేదా Enterprise) లేదా API access ఉన్న Console account కూడా అవసరం. ఉచిత Claude.ai planలో ఇది ఉండదు.
సర్వర్ను rootగా కాకుండా sudo ఉన్న సాధారణ userగా సిద్ధం చేయండి. సర్వర్ కొత్తదైతే ముందుగా కొత్త VPSలో మొదటి పది నిమిషాలు ప్రక్రియను పూర్తి చేయండి. ఈ guideలో తర్వాత చేసే SSH మార్పులు, user మరియు firewall సిద్ధంగా ఉన్నప్పుడు సులభంగా ఉంటాయి.
sudo apt update && sudo apt install -y tmux mosh
curl -fsSL https://claude.ai/install.sh | bash
claude --versionInstaller binaryని ~/.local/bin/claude వద్ద ఉంచుతుంది. claude --version అమలు చేస్తే 2.1.211 (Claude Code) లాంటి పంక్తి కనిపిస్తుంది. command not found కనిపిస్తే, ఆ directory ఇంకా మీ PATHలో లేదు. Log out చేసి, మళ్లీ log in అవ్వండి. తర్వాత command -v claudeతో తనిఖీ చేయండి. claude doctor session ప్రారంభించకుండా installation మరియు settings diagnosticsను చూపిస్తుంది.
ఇప్పుడు phoneపై ఆధారపడే ముందు laptop నుంచి ఒకసారి log in అవ్వండి. Project directoryలో claude అమలు చేసి, login promptను అనుసరించండి. ఈ ప్రక్రియలో browserలో ఒక URL తెరిచి, codeను terminalకు తిరిగి ఇవ్వాలి. Phone screenపై రెండు apps మధ్య మారడం నెమ్మదిగా ఉంటుంది. దీన్ని ఒకసారి నిజమైన keyboardతో చేయండి. Credentials serverపైనే నిల్వ ఉంటాయి.
tmux లో Claude Code ను ప్రారంభించండి; కనెక్షన్ తెగిపోయినా అది ఆగదు
tmux new -s claude
cd ~/projects/api
claudeCtrl-b తో detach చేసి, తరువాత d నొక్కండి. tmux [detached (from session claude)] ను ప్రింట్ చేసి, మిమ్మల్ని shell కు తిరిగి పంపుతుంది. ఇప్పుడు app మూసివేయండి, signal కోల్పోండి లేదా phone ను జేబులో పెట్టండి. pane అమలవుతూనే ఉంటుంది.
tmux ls
tmux attach -t claudetmux ls ప్రతి session కు ఒక్కో పంక్తిని ప్రింట్ చేస్తుంది. ఉదాహరణకు claude: 1 windows (created Thu Jul 30 09:14:02 2026). tmux attach -t claude మీరు వదిలిన ఖచ్చితమైన స్థానానికి మిమ్మల్ని తిరిగి తీసుకెళ్తుంది. మధ్యలో ఆగిపోయిన edit కూడా అలాగే ఉంటుంది.
ఇది పనిచేసేది tmux తన స్వంత server process ను అమలు చేయడం వల్ల. మీ shell మరియు Claude Code, sshd కు చెందిన child processes కాకుండా, ఆ server కు చెందిన child processes గా ఉంటాయి. SSH కనెక్షన్ ముగిసినప్పుడు, kernel ఆ కనెక్షన్కు అనుసంధానమైన processes కు hangup signal, SIGHUP, పంపుతుంది. tmux server వాటిలో ఉండదు. tmux లేకుండా, మీ కనెక్షన్ను తెంచే అదే screen lock, tool call మధ్యలో Claude Code ను ఆపేస్తుంది. VPS లో tmux లో Claude Code ను అమలు చేయడం session layout ను మరింత వివరంగా వివరిస్తుంది.
tmux ను server పై అమలు చేయండి; phone పై ఎప్పుడూ అమలు చేయవద్దు. మీరు ఇప్పటికే అనుసంధానమైన session లో tmux టైప్ చేస్తే, sessions should be nested with care, unset $TMUX to force ప్రింట్ అవుతుంది. దాన్ని బలవంతంగా అమలు చేస్తే, పరస్పరం పోటీపడే రెండు prefix keys మీకు ఉంటాయి.
ప్రతి login సమయంలో స్వయంచాలకంగా attach చేయడం
టచ్ కీబోర్డ్లో attach command టైప్ చేయడం విసుగుగా మారుతుంది. Serverలోని ~/.profile చివర దీన్ని చేర్చండి:
if command -v tmux >/dev/null 2>&1 && [ -z "$TMUX" ] && [ -t 1 ]; then
exec tmux new-session -A -s claude
finew-session -A -s claude, claude పేరున్న session ఉంటే దానికి attach అవుతుంది. అది లేకపోతే sessionను సృష్టిస్తుంది. అందువల్ల రెండు సందర్భాలకు ఒకే command సరిపోతుంది. exec login shell స్థానంలో tmuxను ప్రారంభిస్తుంది. కాబట్టి tmux నుంచి నిష్క్రమిస్తే ఖాళీ promptకు వెళ్లకుండా connection మూసుకుపోతుంది. సాధారణ shell అవసరమైనప్పుడు fileను దాటవేయండి: ssh you@server -t "bash --noprofile".
దీన్ని ~/.profileలో ఉంచండి, ~/.bashrcలో కాదు. ~/.bashrc interactive కాని sessionsలో కూడా నడుస్తుంది. అందువల్ల file transfers విఫలమవుతాయి: scp మరియు sftp అనుకోని outputను protocol dataగా చదివి Received message too longతో విఫలమవుతాయి. ~/.profile login shells కోసం మాత్రమే నడుస్తుంది. Interactive SSH session అదే.
~/.profileలోనే Ubuntu, ~/.local/binను PATHకు జోడిస్తుంది. Login చేసిన వెంటనే claude పనిచేసినా, tmuxలోని shell command not found అని చూపిస్తే, కారణం ఈ క్రమమే. కాబట్టి profileను దాటవేసే script నుంచి కాకుండా, పైన చూపిన విధంగా login shell నుంచి tmuxను ప్రారంభించండి.
iOS: Termius లేదా Blink Shell
రెండు యాప్లు SSH మరియు moshను ఉపయోగిస్తాయి. రెండూ కీలను యాప్లోనే నిల్వ చేస్తాయి. వాటి మధ్య తేడా ఇంటర్ఫేస్లో ఉంటుంది.
Blink Shell కమాండ్ ఆధారితంగా పనిచేస్తుంది. దాని ప్రాంప్ట్ వద్ద ssh you@server లేదా mosh you@server టైప్ చేయండి. ఇది desktop terminalలో ఉపయోగించే అదే syntax. config టైప్ చేస్తే settings తెరుచుకుంటాయి. Keys విభాగం మీ కోసం ఒక key pairను సృష్టిస్తుంది.
Termius ఫారమ్ ఆధారితంగా పనిచేస్తుంది. ముందుగా host entryని పూరించండి. తర్వాత host detailsలో ఆ hostను SSH నుంచి Moshకు మార్చండి. Termiusలోనే mosh implementation ఉంటుంది. ఇది mosh 1.3.0 మరియు తరువాతి versionsకు మద్దతు ఇస్తుంది. అందువల్ల serverలో mosh package ఇంకా install చేసి ఉండాలి.
రెండు సందర్భాల్లోనూ keyని యాప్లోనే generate చేయండి. ఇప్పటికే ఉన్న private keyని phoneలోకి ఎప్పుడూ copy చేయవద్దు. యాప్ మీకు public halfను చూపిస్తుంది. Serverలోని ~/.ssh/authorized_keysకు మీరు జోడించాల్సింది ఆ ఒక్క లైనే. ప్రతి పరికరానికి SSH keys మరియు ఒకదాన్ని revoke చేయడంలో naming మరియు revoke దశ వివరించబడ్డాయి. Laptop కంటే phone విషయంలో ఇవి మరింత ముఖ్యమైనవి.
Terminal app అందించే biometric లేదా passcode lockను enable చేయండి. అది లేకపోతే, screen మేల్కొని ఉన్నంతసేపు unlock చేసిన phone మీ serverలో open shellగా ఉంటుంది.
Android: Termux
pkg upgrade
pkg install openssh mosh
ssh-keygen -t ed25519 -C "pixel"
cat ~/.ssh/id_ed25519.pubTermux తన స్వంత repositoryలో OpenSSH మరియు mosh packagesను అందిస్తుంది. అందువల్ల ssh, ssh-keygen మరియు mosh desktopలో పనిచేసినట్లే పనిచేస్తాయి. చూపించిన public key lineను serverలోని ~/.ssh/authorized_keysకు జోడించండి. తర్వాత mosh you@serverతో connect అవ్వండి.
Android on-screen keyboardలో Esc key మరియు Ctrl key ఉండవు. Claude Codeకు ఈ రెండూ అవసరం. Termux తన స్వంత key rowను చూపగలదు. ~/.termux/termux.propertiesలో ఒక lineను ఉంచండి:
extra-keys = [['ESC','|','/','HOME','UP','END','PGUP'],['TAB','CTRL','ALT','LEFT','DOWN','RIGHT','PGDN']]తర్వాత termux-reload-settingsను run చేయండి. అప్పుడు keyboard పైన key row కనిపిస్తుంది. అదే reload ద్వారా ~/.termux/font.ttfలో ఉంచిన monospace TrueType font కూడా లోడ్ అవుతుంది.
Termux backgroundలో ఉన్నప్పుడు Android దాన్ని ఆపివేయవచ్చు. ఈ సందర్భంలో reconnect చేయడం తప్ప మీకు ఎలాంటి నష్టం ఉండదు. Session మరియు agent serverలోనే ఉంటాయి.
నేను wifi పరిధి దాటినప్పుడు terminal ఎందుకు నిలిచిపోతుంది, mosh ఏమి పరిష్కరిస్తుంది?
SSH కనెక్షన్ TCP (transmission control protocol) కనెక్షన్. TCP కనెక్షన్ రెండు చిరునామాలు మరియు రెండు portలతో గుర్తించబడుతుంది. wifi పరిధి దాటితే, phoneకి mobile network నుంచి కొత్త చిరునామా లభిస్తుంది. అందువల్ల పాత కనెక్షన్కు ఏ చివరలోనూ సరిపోలే సమాచారం ఉండదు. దీన్ని తెలియజేసే సందేశం ఏదీ ఉండదు. TCP విఫలమయ్యే వరకు terminal స్పందించదు. ఆ తర్వాత ssh client_loop: send disconnect: Broken pipeను చూపిస్తుంది. నిలిచిపోయిన sessionను వెంటనే ముగించడానికి Enter, తర్వాత ~, తర్వాత . నొక్కండి.
mosh (mobile shell) ఈ సమస్యను తొలగిస్తుంది. ఇది login చేసి mosh-server processను ప్రారంభించడానికి SSHను ఒక్కసారి ఉపయోగిస్తుంది. Server ఎంచుకున్న UDP (user datagram protocol) portను తిరిగి చదివి, SSH కనెక్షన్ను మూసివేస్తుంది. ఆ తర్వాత రెండు వైపులు shared session keyతో ధృవీకరించిన UDP datagramలను పరస్పరం పంపుతాయి. అందువల్ల session మీ చిరునామాతో కాకుండా ఆ keyతో గుర్తించబడుతుంది. కొత్త చిరునామా వచ్చినా session కొనసాగుతుంది. mosh మీరు టైప్ చేసినదాన్ని localగా కూడా చూపిస్తుంది. Serverతో స్థానిక ప్రదర్శన సరిపోకపోతే screenను మళ్లీ గీస్తుంది. అందుకే slow mobile linkలోనూ ఇది ఉపయోగించగలిగే స్థితిలో ఉంటుంది.
mosh 60000 మరియు 61000 మధ్య UDP portను ఉపయోగిస్తుంది. కాబట్టి ఆ పరిధిని తెరవండి:
sudo ufw allow 60000:61000/udp
sudo ufw statusufwతో portలను తెరవడంలో firewall గురించి మిగిలిన వివరాలు ఉన్నాయి. మీ provider control panelలో ప్రత్యేక network firewall అందిస్తే, అక్కడ కూడా అదే పరిధిని జోడించండి. ఎందుకంటే machine ముందు ఉన్న filterపై ufw rule ప్రభావం చూపదు.
moshలో రెండు రకాల వైఫల్యాలు సాధారణం. Login విజయవంతమైన తర్వాత నిలిచిపోయి Nothing received from server on UDP port 60001.ను చూపిస్తే, phone మరియు server మధ్య ఎక్కడో UDP పరిధి block చేయబడింది. కనెక్షన్ mosh-server not found అని చూపిస్తే, serverలో package లేదు లేదా login PATHలో అది అందుబాటులో లేదు. దాన్ని install చేయండి. లేదా mosh --server=/usr/bin/mosh-server you@serverతో నేరుగా దాని మార్గాన్ని సూచించండి.
Login locale UTF-8 కాకపోతే mosh అమలు కావడానికి నిరాకరిస్తుంది. అది ఇలా తెలియజేస్తుంది: mosh-server needs a UTF-8 native locale to run. Localeను phoneలో కాకుండా serverలో సరిచేయండి.
locale
sudo locale-gen en_US.UTF-8
sudo update-locale LANG=en_US.UTF-8mosh చేయలేని రెండు విషయాలు ఉన్నాయి. mosh X forwardingను లేదా port forwardingతో సహా SSH యొక్క non-interactive వినియోగాలను support చేయదని దాని README చెబుతుంది. అందువల్ల Claude Code ఇప్పుడే ప్రారంభించిన web appను preview చేయడానికి plain ssh -L 8080:127.0.0.1:8080 you@server ఇంకా అవసరం. mosh visible screenను మాత్రమే synchronise చేస్తుంది. కాబట్టి దానికి స్వంత scrollback ఉండదు. ఇక్కడ ఆ పరిమితి వల్ల ఇబ్బంది ఉండదు. ఎందుకంటే tmux scrollbackను నిర్వహిస్తుంది: Ctrl-b తర్వాత [ నొక్కితే copy modeలోకి ప్రవేశిస్తుంది. drag లేదా arrow keysతో scroll చేయండి. బయటకు రావడానికి q నొక్కండి.
ఫోన్ స్క్రీన్ను ఉపయోగించగలిగేలా చేయడం
సర్వర్లోని ~/.tmux.conf ఫైల్లోని నాలుగు పంక్తులు ఎక్కువ పనిని నిర్వహిస్తాయి:
set -g mouse on
set -g status-position top
set -g default-terminal "tmux-256color"
set -g history-limit 20000mouse on టచ్ డ్రాగ్ను స్క్రోల్గా, ట్యాప్ను పేన్ లేదా విండో ఎంపికగా మారుస్తుంది. దీనివల్ల టైప్ చేయడం అసౌకర్యంగా ఉండే prefix కీలు ఎక్కువగా అవసరం ఉండవు. status-position top tmux status line ను దిగువ అంచు నుంచి తరలిస్తుంది. లేకపోతే on-screen keyboard మరియు దాని suggestion bar దాన్ని కప్పివేస్తాయి. default-terminal ముఖ్యమైనది, ఎందుకంటే లేకపోతే tmux Claude Codeకు screen terminalగా తెలియజేస్తుంది. అప్పుడు రంగులు మరియు box drawing అవసరమైనంత మెరుగ్గా కనిపించవు. ఆ తర్వాత tmux missing or unsuitable terminal: tmux-256colorతో ప్రారంభం కావడానికి నిరాకరిస్తే, terminfo entry లేదు: sudo apt install ncurses-term.
నాలుగు కీలను నేర్చుకుంటే మిగతా ఉపయోగం సౌకర్యంగా ఉంటుంది.
EscClaude ప్రతిస్పందనను మధ్యలోనే ఆపుతుంది మరియు ఇప్పటికే పూర్తయిన పనిని అలాగే ఉంచుతుంది. కాబట్టి ఇది మీ బొటనవేలికి అత్యంత దగ్గరగా ఉండాల్సిన కీ.Ctrl+Cకూడా నడుస్తున్న operationను ఆపుతుంది. idle prompt వద్ద మొదటి press inputను క్లియర్ చేస్తుంది. రెండవ press Claude Code నుంచి నిష్క్రమిస్తుంది. అందువల్ల ఇది మరింత కఠినమైన సాధనం.Escను రెండుసార్లు నొక్కితే draft prompt క్లియర్ అవుతుంది. ఖాళీ prompt వద్ద మాత్రం ఇది rewind menuను తెరుస్తుంది.- multi-line prompt కోసం
\టైప్ చేసి Enter నొక్కండి. ఈ పద్ధతి ప్రతి terminalలో పనిచేస్తుంది. Shift+Enter కొన్ని desktop terminalలలో మాత్రమే nativeగా ఉంటుంది. mobile clientలు ఆ జాబితాలో లేవు.
split panesను నివారించండి. portrait orientationలో ఫోన్ వెడల్పు సుమారు 40 columns ఉంటుంది. కాబట్టి vertical split ప్రతి paneకు 20 columns మాత్రమే వదిలి, ప్రతి diffను చదవలేని విధంగా wrap చేస్తుంది. బదులుగా tmux windows ఉపయోగించండి: Ctrl-b cతో కొత్త window సృష్టించండి. Ctrl-b nతో తదుపరి windowకు వెళ్లండి. diffను సరిగ్గా చదవాల్సినప్పుడు ఫోన్ను sidewaysగా తిప్పండి.
చిన్న స్క్రీన్పై దీర్ఘ sessionలో ప్రధాన సమస్య context. అందువల్ల రైల్లో పూర్తి రోజు పని నిర్వహించడానికి ప్రయత్నించే ముందు Claude Code context windowను నిర్వహించడం చదవడం ఉపయోగకరం.
దీన్ని కట్టుదిట్టం చేయండి: keys మాత్రమే, passwords వద్దు
మీ ఫోన్ ఇప్పుడు మీ codeను సవరించి commandsను అమలు చేసే machineకి ఒక keyను కలిగి ఉంది. password authenticationను ఆపివేయండి. sshd_configను నేరుగా సవరించడం కంటే drop-in file సురక్షితం. Ubuntu యొక్క sshd_config పైభాగంలో /etc/ssh/sshd_config.d/*.confను చేర్చుతుంది. ఏ settingకు మొదట కనిపించే విలువనే ఉపయోగిస్తారు.
sudo tee /etc/ssh/sshd_config.d/99-phone.conf >/dev/null <<'EOF'
PasswordAuthentication no
KbdInteractiveAuthentication no
PubkeyAuthentication yes
PermitRootLogin no
EOF
sudo sshd -t && sudo systemctl reload sshsshd -t configను parse చేసి, అది validగా ఉన్నప్పుడు ఏమీ print చేయదు. దీన్ని దాటవేస్తే, ఒక typo కారణంగా reload సమయంలో sshd విఫలమవుతుంది. మీ ప్రస్తుత sessionను తెరిచి ఉంచండి. ఏదీ మూసివేయడానికి ముందు రెండవ connection నుంచి test చేయండి. తప్పుడు keyతో ఇప్పుడు Permission denied (publickey). వస్తుంది. passwords ఆపివేసినందున fallback ఉండదు. ఆ సమయంలో recovery మార్గం మీ provider యొక్క console.
ప్రతి deviceకు దాని స్వంత key ఇవ్వండి. ఫోన్ పోతే ~/.ssh/authorized_keysలోని ఒక lineను తొలగిస్తే సరిపోతుంది. మీ laptop పనిచేస్తూనే ఉంటుంది. ఒకే shared key ఉంటే, మీ వద్ద ఉన్న ప్రతి deviceలో keyను మార్చాలి.
Ubuntu 24.04లో SSHను మరొక portకు మార్చితే, listener ssh.socketకు చెందినదని గుర్తుంచుకోండి. కాబట్టి Port line ఒక్కటే ఏ మార్పూ చేయదు. sudo systemctl edit ssh.socketను run చేయండి. ఖాళీ ListenStream=తో defaultను తొలగించండి. తరువాతి lineలో మీ portను set చేయండి. VPSలో SSHను కట్టుదిట్టం చేయడం దీనినీ, మిగిలిన attack surfaceనూ వివరిస్తుంది.
SSH కోసం fail2ban passwords ఆపివేసిన తర్వాత తక్కువ అదనపు securityనే ఇస్తుంది. ఊహించిన passwordను అసలు accept చేయలేరు. అయితే ఇది ప్రశాంతమైన logsను అందిస్తుంది. దాంతో నిజమైన login attemptను సులభంగా గుర్తించవచ్చు.
SSHను public internetలో ఉంచకపోవడం మరింత బలమైన ఎంపిక. Serverను మీరు స్వయంగా host చేసే WireGuard VPN వెనుక ఉంచండి. అవసరమైనప్పుడు ఫోన్లో tunnelను ప్రారంభించండి. Tunnelపై మాత్రమే sshdకు ListenAddressను ఇవ్వండి. రెండు వైపులా UDP ఉపయోగిస్తున్నందున mosh tunnelపై పనిచేస్తుంది. ఒక విషయం గమనించండి: tunnel packet overheadను పెంచుతుంది. పెద్ద transfers నిలిచిపోతే, ఫోన్లోని WireGuard configలో MTU (maximum transmission unit)ను తగ్గించండి.
ఈ విధంగా పనిచేయడం గురించి చివరి విషయం. ఫోన్ నుంచి మీరు ఒకేసారి కొన్ని diff lines మాత్రమే కనిపించే screenపై permission promptsను approve చేస్తారు. అందువల్ల guardrailsను ఆపివేయకూడదు; వాటిని ఉంచాలి. VPSలో Claude Codeను సురక్షితంగా run చేయడంలో ప్రధాన ప్రవేశ మార్గం touchscreenగా ఉండే ముందు set చేయాల్సిన user మరియు directory limits గురించి వివరిస్తుంది.
మీరు మళ్లీ జత అయినప్పుడు ఏదైనా తప్పుగా ఉంటే
tmux attach ముద్రితమైతే no server running on /tmp/tmux-1000/default, tmux server లేదు అని అర్థం. దాదాపు ఎల్లప్పుడూ machine reboot అయిందని దీనర్థం. uptime తో తనిఖీ చేయండి. ఆటోమేటిక్ భద్రతా నవీకరణలు చేసిన kernel updates box ను reboot చేస్తాయి. Reboot అయిన box లో tmux session ఉండదు. అందువల్ల ఏదైనా Claude Code run ను మళ్లీ ప్రారంభించగలిగేదిగా పరిగణించండి.
can't find session: claude వేరుగా ఉంటుంది. tmux server నడుస్తోంది, కానీ ఆ పేరు లేదు. ప్రస్తుతం ఉన్న వాటిని tmux ls చూపిస్తుంది.
మీరు attach అయినప్పుడు, Claude Code ఉన్న చోట సాధారణ shell prompt కనిపిస్తే, session ముగియకముందే process ముగిసింది. dmesg -T | tail లో Out of memory: Killed process 4821 (claude) లాంటి line కోసం చూడండి. 4 GB requirement కంటే తక్కువ వనరులున్న box పెద్ద edit సమయంలో ఇదే చేస్తుంది. అలాంటి line లేకపోతే, Claude Code స్వయంగా exit అయింది. కారణం prompt పైనున్న shell scrollback లో ఉంటుంది.
Window మళ్లీ చిన్నగా కనిపించి, దాని చుట్టూ ఉపయోగించని స్థలం ఉంటే, వేర్వేరు పరిమాణాల్లో రెండు clients attach అయి ఉన్నాయని అర్థం. అతి చిన్న attached client కు సరిపోయేలా tmux window పరిమాణాన్ని నిర్ణయిస్తుంది. మీ laptop ఇప్పటికీ session ను 200 columns వెడల్పుతో ఉంచుతోంది, కానీ phone 40 columns అడుగుతోంది. మీరు attach అవుతున్నప్పుడు ఇతర clients ను detach చేయండి: tmux attach -d -t claude.
FAQ
VPSపై కాకుండా ఫోన్లోనే Claude Code ను అమలు చేయవచ్చా?
లేదు. July 2026 నాటికి మద్దతు ఉన్న platforms: macOS, Windows, Ubuntu 20.04 లేదా కొత్తది, Debian 10 లేదా కొత్తది, మరియు Alpine 3.19 లేదా కొత్తది. వీటికి 4 GB లేదా అంతకంటే ఎక్కువ RAM అవసరం. Android మరియు iOS ఆ జాబితాలో లేవు. ఫోన్ తన apps ను sleep లోకి పంపుతుంది మరియు network address ను నిరంతరం మారుస్తుంది. దీర్ఘకాలం agent అమలు కావడానికి ఇది అనుకూలం కాదు. దీన్ని serverపై అమలు చేసి, ఫోన్ను displayగా ఉపయోగించండి.
Appను మూసివేసినా లేదా signal కోల్పోయినా session కొనసాగుతుందా?
అవును. దీనికి రెండు వేర్వేరు భాగాలు పనిచేస్తాయి. tmux serverపై processను అమలులో ఉంచుతుంది. అందువల్ల connection ముగిసినా process ఆగదు. mosh address మారినప్పుడు connectionను కొనసాగిస్తుంది. కాబట్టి wifi నుంచి mobile dataకు మారినప్పుడు మళ్లీ connect కావాల్సిన అవసరం కూడా ఉండదు. tmux లేకుండా plain SSH ఉపయోగిస్తే, connection తెగినప్పుడు SIGHUP పంపబడుతుంది మరియు Claude Code task మధ్యలోనే ఆగిపోతుంది.
mosh connect అయిన తర్వాత ఏమీ చూపించకపోవడానికి కారణం ఏమిటి?
Login విజయవంతమైన తర్వాత Nothing received from server on UDP port 60001. తో hang అయితే, UDP 60000 నుంచి 61000 వరకు open కాలేదని అర్థం. ఆ rangeను ufwలో add చేయండి. అలాగే దాన్ని మీ provider network firewallలో కూడా add చేయండి. చాలా panelsలో ఇది వేరే controlగా ఉంటుంది. mosh బదులుగా mosh-server కనుగొనబడలేదని చూపిస్తే, serverలో package లేదు: sudo apt install mosh.
Esc key లేని keyboardతో Claude Codeను ఎలా interrupt చేయాలి?
ఒక key rowను add చేయండి. Termuxలో ~/.termux/termux.properties లోని extra-keys ఉపయోగించి దాన్ని configure చేయవచ్చు. Termius మరియు Blink రెండింటిలోనూ settingsలో edit చేయగల row అందుబాటులో ఉంటుంది. Esc అమలులో ఉన్న responseను interrupt చేసి, అప్పటివరకు పూర్తయిన పనిని ఉంచుతుంది. Ctrl+C కూడా interrupt చేస్తుంది. అయితే idle prompt వద్ద దాన్ని రెండుసార్లు నొక్కితే Claude Code exit అవుతుంది. అందువల్ల ముందుగా Esc ఉపయోగించండి.
SSHను internetకు open చేయడం దీనికి సరిపడా సురక్షితమేనా?
Password authenticationను off చేస్తే, విజయవంతం కాగల ఏకైక credential మీ devicesను ఎప్పుడూ విడిచిపోని key అవుతుంది. మీరు rebuild చేయగల machineకు ఇది సమంజసమైన risk. ప్రతి deviceకు ప్రత్యేక key ఇవ్వండి. అప్పుడు phone పోయినా authorized_keys లో ఒక lineను మాత్రమే తొలగించాలి. Public portపై అసలు స్పందించాల్సిన అవసరం లేకపోతే, boxను WireGuard వెనుక ఉంచి sshdను tunnel addressపై listen చేయించండి.