[{"data":1,"prerenderedAt":1127},["ShallowReactive",2],{"doc-\u002Fdocs\u002Fiphone\u002Ffiles-and-git":3},{"document":4,"previous":157,"next":314,"siblings":414},{"id":5,"title":6,"body":7,"date":146,"description":147,"extension":148,"meta":149,"navigation":150,"order":151,"path":152,"platform":153,"seo":154,"stem":155,"__hash__":156},"docs\u002Fdocs\u002Fiphone\u002Ffiles-and-git.md","Files and git",{"type":8,"value":9,"toc":136},"minimark",[10,14,19,22,40,47,51,84,90,94,97,101,115,119,122,126,133],[11,12,13],"p",{},"Warpeer keeps the project beside the shell. Files open in an SFTP tab next to your terminals, and git changes have their own review page.",[15,16,18],"h2",{"id":17},"open-files-over-sftp","Open files over SFTP",[11,20,21],{},"There are three ways in:",[23,24,25,34,37],"ul",{},[26,27,28,29,33],"li",{},"Long-press a host on the ",[30,31,32],"strong",{},"Hosts"," tab and choose SFTP.",[26,35,36],{},"Tap the folder button on the Hosts heading and pick a host.",[26,38,39],{},"From a terminal, use the SFTP function on a magic key. It opens at the folder your current pane is in.",[11,41,42,43,46],{},"All file connections share one ",[30,44,45],{},"Files"," tab. Switch between hosts with the bar at the top, and each host keeps its own folder and selection. Closing the Files tab never closes your terminals.",[15,48,50],{"id":49},"browse-and-manage","Browse and manage",[23,52,53,56,67,74,81],{},[26,54,55],{},"Tap a folder to open it, and tap the breadcrumb path to jump back up.",[26,57,58,59,62,63,66],{},"Use ",[30,60,61],{},"Search Files"," to filter the current folder, and ",[30,64,65],{},"Sort"," to order by name, size or date.",[26,68,69,70,73],{},"Turn on ",[30,71,72],{},"Hidden Files"," to show dotfiles.",[26,75,76,77,80],{},"Choose ",[30,78,79],{},"Select"," to download or delete several items, or to copy and move them to another connected host. Warpeer names the target host and path before you confirm, and never overwrites an existing file.",[26,82,83],{},"Rename items, create folders and share files to other apps.",[11,85,86,89],{},[30,87,88],{},"SFTP Settings"," sets the folder new connections start in: the last folder you visited, your home folder or a common location such as a project or log folder.",[15,91,93],{"id":92},"preview","Preview",[11,95,96],{},"Tap a file to preview it. Markdown and source code render in a reader. HTML pages render with JavaScript disabled, with a toggle to see the source. Images, PDFs and other documents open in Quick Look. Minimise a preview to a small thumbnail to keep it while you work in the terminal.",[15,98,100],{"id":99},"upload","Upload",[11,102,103,104,107,108,111,112,114],{},"Tap the upload button and choose ",[30,105,106],{},"Camera",", ",[30,109,110],{},"Photo Library"," or ",[30,113,45],{},". Uploads go to the folder you are viewing.",[15,116,118],{"id":117},"images-for-coding-agents","Images for coding agents",[11,120,121],{},"In a terminal, the images function uploads a photo or screenshot to the host and pastes a reference to it into the coding agent in the current pane, so you can show an agent what you see. Warpeer never presses Return for you. This feature is in preview.",[15,123,125],{"id":124},"git-status-and-diffs","Git status and diffs",[11,127,128,129,132],{},"Open the git function on a magic key. The ",[30,130,131],{},"Git Status"," page shows the folder, branch, worktree and every changed file. Tap a file to see its diff with old and new line numbers and word-level highlights.",[11,134,135],{},"Diffs load one file at a time, only when you open them. Files larger than 256 KB or 2,000 lines are not previewed, rather than shown cut off.",{"title":137,"searchDepth":138,"depth":138,"links":139},"",2,[140,141,142,143,144,145],{"id":17,"depth":138,"text":18},{"id":49,"depth":138,"text":50},{"id":92,"depth":138,"text":93},{"id":99,"depth":138,"text":100},{"id":117,"depth":138,"text":118},{"id":124,"depth":138,"text":125},null,"Browse, preview and upload files over SFTP, and review changed files and diffs.","md",{},true,6,"\u002Fdocs\u002Fiphone\u002Ffiles-and-git","iphone",{"title":6,"description":147},"docs\u002Fiphone\u002Ffiles-and-git","v7c6NUSb7SYY2ABNJozjoEs9iEoXcGsmsF1BWVxnnfU",{"id":158,"title":159,"body":160,"date":146,"description":307,"extension":148,"meta":308,"navigation":150,"order":309,"path":310,"platform":153,"seo":311,"stem":312,"__hash__":313},"docs\u002Fdocs\u002Fiphone\u002Fmagic-keys.md","Magic keys and snippets",{"type":8,"value":161,"toc":298},[162,169,173,176,202,225,229,246,251,255,258,262,277,281,284,288,291,295],[11,163,164,165,168],{},"A phone keyboard has no Escape, Control or arrow keys. Warpeer adds them as ",[30,166,167],{},"magic keys",": a floating pad of real terminal keys around the arrow keys, which you can rearrange and fill with your own shortcuts.",[15,170,172],{"id":171},"the-floating-pad","The floating pad",[11,174,175],{},"The pad sits over the terminal around four arrow keys. Tap the centre to type. Every other slot can hold:",[23,177,178,184,190,196],{},[26,179,180,183],{},[30,181,182],{},"a single key",", such as Escape, Tab, Control-C or a function key;",[26,185,186,189],{},[30,187,188],{},"a four-key group",", four keys in one slot that you reach with a short flick;",[26,191,192,195],{},[30,193,194],{},"a function",", such as opening SFTP, git status, voice input or images;",[26,197,198,201],{},[30,199,200],{},"a snippet"," from your vault.",[11,203,204,205,208,209,212,213,216,217,220,221,224],{},"Open ",[30,206,207],{},"Settings",", then ",[30,210,211],{},"Floating Shortcuts",", or tap the settings button on the pad, to edit the layout. Tap ",[30,214,215],{},"+"," on an empty slot or tap an occupied one to choose its key. Changes are saved only when you tap ",[30,218,219],{},"Save",". ",[30,222,223],{},"Restore Default Keys"," brings back the original layout.",[15,226,228],{"id":227},"tmux-and-herdr-shortcuts","tmux and Herdr shortcuts",[11,230,231,232,107,235,107,238,241,242,245],{},"The key chooser has tabs for ",[30,233,234],{},"Keys",[30,236,237],{},"tmux",[30,239,240],{},"Herdr"," and ",[30,243,244],{},"Custom",", and a search that covers all of them. The tmux and Herdr tabs list their standard prefix commands, such as new window, next and previous. Warpeer sends the right prefix for the runtime you are attached to, and you can change the prefix chord for each runtime in the pad preferences.",[11,247,248,250],{},[30,249,244],{}," lets you build your own key sequence, one keystroke with its modifiers at a time.",[15,252,254],{"id":253},"live-metric-keys","Live metric keys",[11,256,257],{},"Metric keys show a live value from the host: CPU, memory (RAM), network, disk, swap or load. A git key shows the number of added and removed lines in the current repository. Values update only while the key is visible, so hidden keys use no data. Open the chart function for full-screen graphs of the same metrics, refreshing every 1, 2, 5 or 10 seconds.",[15,259,261],{"id":260},"snippets","Snippets",[11,263,264,265,268,269,272,273,276],{},"Save commands as snippets in ",[30,266,267],{},"Vaults",", then add them to a key from the key chooser. Tapping a snippet key asks whether to ",[30,270,271],{},"Insert"," the command at the prompt or ",[30,274,275],{},"Run"," it.",[15,278,280],{"id":279},"app-window-keys","App window keys",[11,282,283],{},"Keys can also open Warpeer windows directly: Sessions, command History, Themes, Credentials and Keyboard settings.",[15,285,287],{"id":286},"voice-input","Voice input",[11,289,290],{},"The voice function dictates text with Apple Speech in your preferred language. You can pause, edit the transcript and insert it. Warpeer never presses Return for you. Voice input is in preview while it is tested on more devices.",[15,292,294],{"id":293},"look-and-feel","Look and feel",[11,296,297],{},"In the pad preferences, choose a Glass, Frosted or Flat key material, a light or dark tone, and the opacity, blur and border strength. A connected hardware keyboard also works in the terminal.",{"title":137,"searchDepth":138,"depth":138,"links":299},[300,301,302,303,304,305,306],{"id":171,"depth":138,"text":172},{"id":227,"depth":138,"text":228},{"id":253,"depth":138,"text":254},{"id":260,"depth":138,"text":261},{"id":279,"depth":138,"text":280},{"id":286,"depth":138,"text":287},{"id":293,"depth":138,"text":294},"Use floating terminal keys, tmux and Herdr prefix shortcuts, live metric keys and snippets.",{},5,"\u002Fdocs\u002Fiphone\u002Fmagic-keys",{"title":159,"description":307},"docs\u002Fiphone\u002Fmagic-keys","RgfZ1_3RaU9nzDA646J2RAIRmDuuvML5YKeANSxME1w",{"id":315,"title":316,"body":317,"date":146,"description":407,"extension":148,"meta":408,"navigation":150,"order":409,"path":410,"platform":153,"seo":411,"stem":412,"__hash__":413},"docs\u002Fdocs\u002Fiphone\u002Fremote-helper.md","The remote helper",{"type":8,"value":318,"toc":402},[319,327,331,338,349,353,356,370,373,377,380,395,398],[11,320,321,322,326],{},"To list sessions, recognise coding agents, read git status and show host metrics, Warpeer uses a small program on your server called ",[323,324,325],"code",{},"warpeer-remote",".",[15,328,330],{"id":329},"installation","Installation",[11,332,333,334,337],{},"When you connect, Warpeer checks for the helper in ",[323,335,336],{},"~\u002F.warpeer\u002Fremote"," in your home directory. If it is missing or older than the version bundled with the app, Warpeer uploads it over the same SSH connection, verifies its SHA-256 checksum and swaps it in atomically. It never replaces a newer helper with an older one.",[23,339,340,343,346],{},[26,341,342],{},"It needs no root access and no package manager.",[26,344,345],{},"It supports Linux and macOS on x86_64 and ARM64.",[26,347,348],{},"It is not a daemon. It runs only for the SSH connection that started it and exits when that connection closes.",[15,350,352],{"id":351},"what-it-reads","What it reads",[11,354,355],{},"The helper answers only the questions your iPhone asks over the SSH connection you opened:",[23,357,358,361,364,367],{},[26,359,360],{},"the tmux and Herdr sessions on the host;",[26,362,363],{},"the coding agents running in those sessions and their state;",[26,365,366],{},"the folder, branch and changed files of the git repository in the current pane, and a file's diff when you open it;",[26,368,369],{},"system details and resource metrics such as CPU, memory, network, disk, swap and load.",[11,371,372],{},"The answers travel back to your iPhone only. Nothing is sent to Warpeer. The helper never types into your terminal, and if it fails, your shell keeps working; only the extra features are unavailable.",[15,374,376],{"id":375},"removing-it","Removing it",[11,378,379],{},"Delete the folder at any time:",[381,382,386],"pre",{"className":383,"code":384,"language":385,"meta":137,"style":137},"language-sh shiki shiki-themes github-light github-dark","rm -rf ~\u002F.warpeer\n","sh",[323,387,388],{"__ignoreMap":137},[389,390,393],"span",{"class":391,"line":392},"line",1,[389,394,384],{},[11,396,397],{},"Warpeer installs the helper again the next time you connect to that host.",[399,400,401],"style",{},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":137,"searchDepth":138,"depth":138,"links":403},[404,405,406],{"id":329,"depth":138,"text":330},{"id":351,"depth":138,"text":352},{"id":375,"depth":138,"text":376},"What Warpeer installs on your server, what it reads and how to remove it.",{},7,"\u002Fdocs\u002Fiphone\u002Fremote-helper",{"title":316,"description":407},"docs\u002Fiphone\u002Fremote-helper","4EWFAOaeNP1Jtj0EIbGQigDA9lXwqIXT4exkiIlC-2A",[415,516,642,754,157,4,314,880,1000],{"id":416,"title":417,"body":418,"date":146,"description":510,"extension":148,"meta":511,"navigation":150,"order":392,"path":512,"platform":153,"seo":513,"stem":514,"__hash__":515},"docs\u002Fdocs\u002Fiphone\u002Fgetting-started.md","Get started on iPhone",{"type":8,"value":419,"toc":505},[420,423,427,451,458,462,469,473,496],[11,421,422],{},"Warpeer for iPhone is a native SSH terminal built on Ghostty. It requires iOS 18 or later. There is no account to create, and every feature is free during Early Access.",[15,424,426],{"id":425},"add-your-first-host","Add your first host",[428,429,430,439,442,445],"ol",{},[26,431,432,433,435,436,438],{},"Open the ",[30,434,32],{}," tab and tap the ",[30,437,215],{}," button.",[26,440,441],{},"Enter a name, the host address, the port and your username.",[26,443,444],{},"Choose how to authenticate: type a password, or pick a saved Keychain credential. Leave the password empty when the server uses Tailscale SSH.",[26,446,447,448,326],{},"Tap ",[30,449,450],{},"Connect",[11,452,453,454,457],{},"Warpeer can also list SSH servers that advertise themselves on your local network. Tap the nearby-devices button in the connection form to open ",[30,455,456],{},"Local SSH Devices"," and pick one instead of typing its address.",[15,459,461],{"id":460},"trust-the-server","Trust the server",[11,463,464,465,468],{},"The first time you connect, Warpeer shows the server's host-key fingerprint and asks you to verify it. Compare it with the fingerprint your server administrator or ",[323,466,467],{},"ssh-keygen -lf"," reports, then accept it. Later connections with the same fingerprint go through without another prompt. If the fingerprint changes, Warpeer stops and asks again.",[15,470,472],{"id":471},"find-your-way-around","Find your way around",[23,474,475,481,486,491],{},[26,476,477,480],{},[30,478,479],{},"Sessions"," lists the terminals you have open and the tmux and Herdr sessions found on your servers.",[26,482,483,485],{},[30,484,32],{}," holds your saved servers. Long-press a host to open its files over SFTP.",[26,487,488,490],{},[30,489,267],{}," stores credentials, snippets, known hosts and connection logs.",[26,492,493,495],{},[30,494,207],{}," sits in the navigation bar and controls the terminal, keyboard, appearance and privacy.",[11,497,498,499,504],{},"Next, read ",[500,501,503],"a",{"href":502},"\u002Fdocs\u002Fiphone\u002Fhosts-and-keys","Hosts and SSH keys"," to set up key-based sign-in.",{"title":137,"searchDepth":138,"depth":138,"links":506},[507,508,509],{"id":425,"depth":138,"text":426},{"id":460,"depth":138,"text":461},{"id":471,"depth":138,"text":472},"Install Warpeer, add your first host and open a terminal session.",{},"\u002Fdocs\u002Fiphone\u002Fgetting-started",{"title":417,"description":510},"docs\u002Fiphone\u002Fgetting-started","vxyARNtJ_kCXtVZeoY6BbOxbbsC6jtEw2bV9xZ6HHSQ",{"id":517,"title":503,"body":518,"date":146,"description":637,"extension":148,"meta":638,"navigation":150,"order":138,"path":502,"platform":153,"seo":639,"stem":640,"__hash__":641},"docs\u002Fdocs\u002Fiphone\u002Fhosts-and-keys.md",{"type":8,"value":519,"toc":629},[520,526,529,539,543,556,574,577,584,588,594,596,603,607,613,617],[11,521,522,523,525],{},"Everything you save in Warpeer stays on your iPhone. Open the ",[30,524,267],{}," tab to manage it.",[15,527,32],{"id":528},"hosts",[11,530,531,532,534,535,538],{},"A host is a saved server: a name, an address, a port and a username, plus the credential to sign in with. Saved hosts appear on the ",[30,533,32],{}," tab. Once you have more than one, a search field helps you find them. Use ",[30,536,537],{},"Manage"," on the Hosts heading to edit hosts or select several to delete.",[15,540,542],{"id":541},"keychain-credentials","Keychain credentials",[11,544,545,546,548,549,552,553,326],{},"A credential is a username with either a password or a private key. To add one, open ",[30,547,267],{},", choose ",[30,550,551],{},"Keychains"," and tap ",[30,554,555],{},"Add Keychain",[23,557,558,564],{},[26,559,560,563],{},[30,561,562],{},"Password",": type the password once and reuse it on any host.",[26,565,566,569,570,573],{},[30,567,568],{},"Private Key",": paste an OpenSSH private key (the text that begins with ",[323,571,572],{},"-----BEGIN OPENSSH PRIVATE KEY-----","). Ed25519 and RSA keys are supported. Add the passphrase if the key has one, and optionally the public key for reference.",[11,575,576],{},"Credentials are encrypted and stored in the iOS Keychain. When you edit a credential later, leave the private key empty to keep the stored value.",[11,578,579,580,583],{},"Remember to add the matching public key to ",[323,581,582],{},"~\u002F.ssh\u002Fauthorized_keys"," on each server.",[15,585,587],{"id":586},"known-hosts","Known hosts",[11,589,590,593],{},[30,591,592],{},"Known Hosts"," lists every server fingerprint you have trusted. Search by host or fingerprint. Delete an entry when a server is rebuilt so that Warpeer asks you to verify its new key.",[15,595,261],{"id":260},[11,597,598,600,601,326],{},[30,599,261],{}," are saved commands. Insert or run them from a snippet key on the terminal keyboard, described in ",[500,602,159],{"href":310},[15,604,606],{"id":605},"connection-logs","Connection logs",[11,608,609,612],{},[30,610,611],{},"Logs"," keeps a short history of connection attempts, with the error detail when one failed. It is the first place to look when a host will not connect.",[15,614,616],{"id":615},"app-lock","App Lock",[11,618,69,619,621,622,624,625,628],{},[30,620,616],{}," in ",[30,623,207],{}," to require a 4 to 12 digit PIN, or Face ID or Touch ID, when Warpeer opens. The PIN verifier is stored only on this device. With App Lock on, ",[30,626,627],{},"Blur in App Switcher"," also hides your terminals in the app switcher.",{"title":137,"searchDepth":138,"depth":138,"links":630},[631,632,633,634,635,636],{"id":528,"depth":138,"text":32},{"id":541,"depth":138,"text":542},{"id":586,"depth":138,"text":587},{"id":260,"depth":138,"text":261},{"id":605,"depth":138,"text":606},{"id":615,"depth":138,"text":616},"Save servers, store passwords and private keys in the Keychain, and lock the app.",{},{"title":503,"description":637},"docs\u002Fiphone\u002Fhosts-and-keys","6Lg-OnfpPrP_xHeEoD-5jLuSnfBYgDvXU57FZIkFX0Q",{"id":643,"title":644,"body":645,"date":146,"description":747,"extension":148,"meta":748,"navigation":150,"order":749,"path":750,"platform":153,"seo":751,"stem":752,"__hash__":753},"docs\u002Fdocs\u002Fiphone\u002Fsessions.md","Sessions: tmux and Herdr",{"type":8,"value":646,"toc":741},[647,650,654,657,680,684,690,697,701,704,708,719,725,736],[11,648,649],{},"Warpeer is built for work that keeps running on a server while you are away. It finds your tmux and Herdr sessions and puts you back inside them.",[15,651,653],{"id":652},"choose-a-session-when-you-connect","Choose a session when you connect",[11,655,656],{},"When you connect to a host, Warpeer looks for tmux and Herdr sessions on that server and lists them. Each row shows the runtime, the session name, when it was created or last active, and the coding agent running in it.",[23,658,659,662,668,674],{},[26,660,661],{},"Tap a session to attach to it.",[26,663,76,664,667],{},[30,665,666],{},"Select Multiple Sessions",", tap several, then open them together as separate tabs.",[26,669,76,670,673],{},[30,671,672],{},"Continue in Shell"," to skip attaching and use a plain login shell.",[26,675,58,676,679],{},[30,677,678],{},"Close Session"," to end a session you no longer need.",[15,681,683],{"id":682},"the-sessions-tab","The Sessions tab",[11,685,686,687,689],{},"The ",[30,688,479],{}," tab shows every open terminal as a card with a live preview of its screen, so you can see what is happening without opening it. A card also shows the coding agent state and, inside a git repository, the number of added and removed lines. Tap a card to continue, the chart button to open its session probe, or the close button to end it.",[11,691,692,693,696],{},"Below your open sessions, ",[30,694,695],{},"Connected Sessions"," lists hosts you used recently. Tap one to reconnect with the same saved credential.",[15,698,700],{"id":699},"move-between-terminals","Move between terminals",[11,702,703],{},"Each session opens as a tab. Swipe sideways across the terminal to move to the next or previous tab. A short label names the session and host you landed on. Going back to the Sessions tab keeps your terminals open in the background of the app.",[15,705,707],{"id":706},"coming-back-to-the-app","Coming back to the app",[11,709,710,711,714,715,718],{},"iOS suspends apps that are not on screen. When you return, Warpeer checks each connection and reconnects the ones the system closed. If a connection still cannot be restored, the tab keeps its last screen and shows ",[30,712,713],{},"Connection lost"," with a ",[30,716,717],{},"Reconnect"," button, which attaches the same tmux or Herdr session again. Your work never stopped, because it was running on the server the whole time.",[11,720,721,722,724],{},"Two settings in ",[30,723,207],{}," control this:",[23,726,727,733],{},[26,728,729,732],{},[30,730,731],{},"Keep Alive"," sets how often Warpeer sends SSH keep-alive packets.",[26,734,735],{},"The background time limit asks iOS to keep connections open for System Default, 5, 10, 15 or 30 minutes after you leave. iOS decides how much time the app actually gets.",[11,737,738,739,326],{},"Warpeer installs a small helper on the server to find sessions. See ",[500,740,316],{"href":410},{"title":137,"searchDepth":138,"depth":138,"links":742},[743,744,745,746],{"id":652,"depth":138,"text":653},{"id":682,"depth":138,"text":683},{"id":699,"depth":138,"text":700},{"id":706,"depth":138,"text":707},"Find the sessions already running on your servers and continue them from your iPhone.",{},3,"\u002Fdocs\u002Fiphone\u002Fsessions",{"title":644,"description":747},"docs\u002Fiphone\u002Fsessions","gUs_E1tCHZgPFSi43-5KfWhB09Hki2CyBD9bbfhRT0I",{"id":755,"title":756,"body":757,"date":146,"description":873,"extension":148,"meta":874,"navigation":150,"order":875,"path":876,"platform":153,"seo":877,"stem":878,"__hash__":879},"docs\u002Fdocs\u002Fiphone\u002Fcoding-agents.md","Coding agents",{"type":8,"value":758,"toc":867},[759,762,766,769,773,776,844,850,854,857,861],[11,760,761],{},"Coding agents keep working on a server long after you close your laptop. Warpeer recognises them inside your remote sessions and tells you which ones need you, without opening every pane.",[15,763,765],{"id":764},"supported-agents","Supported agents",[11,767,768],{},"Warpeer recognises Claude Code, Codex, OpenCode, Gemini, Amp, Auggie, Copilot CLI, Cursor CLI, Droid, Goose, Pi, DSH and Command Code. Agents run as usual in tmux, Herdr or a plain shell. You do not need to change how you start them.",[15,770,772],{"id":771},"agent-states","Agent states",[11,774,775],{},"Each session shows the state of the agent running in it:",[777,778,779,792],"table",{},[780,781,782],"thead",{},[783,784,785,789],"tr",{},[786,787,788],"th",{},"State",[786,790,791],{},"Meaning",[793,794,795,804,812,820,828,836],"tbody",{},[783,796,797,801],{},[798,799,800],"td",{},"Working",[798,802,803],{},"The agent is busy on a task.",[783,805,806,809],{},[798,807,808],{},"Waiting",[798,810,811],{},"The agent finished its turn and is waiting for your next message.",[783,813,814,817],{},[798,815,816],{},"Needs input",[798,818,819],{},"The agent is blocked on a question or a permission request.",[783,821,822,825],{},[798,823,824],{},"Completed",[798,826,827],{},"The task finished.",[783,829,830,833],{},[798,831,832],{},"Failed",[798,834,835],{},"The agent stopped with an error.",[783,837,838,841],{},[798,839,840],{},"Detected",[798,842,843],{},"The agent is running, but its state could not be read.",[11,845,846,847,849],{},"The state appears on the session card in the ",[30,848,479],{}," tab, in the session list when you connect, and on the terminal tab.",[15,851,853],{"id":852},"session-probe","Session probe",[11,855,856],{},"Tap the chart button on a session card to open its probe. It shows the agent and model, token use (input, output and total), the working folder, the git branch and worktree, the list of changed files, and system details such as the distribution, kernel and architecture of the host.",[15,858,860],{"id":859},"how-it-works","How it works",[11,862,686,863,866],{},[500,864,865],{"href":410},"remote helper"," reads process and session information on the server and returns it to your iPhone over the same SSH connection. Nothing is sent to Warpeer, and nothing is typed into your terminal.",{"title":137,"searchDepth":138,"depth":138,"links":868},[869,870,871,872],{"id":764,"depth":138,"text":765},{"id":771,"depth":138,"text":772},{"id":852,"depth":138,"text":853},{"id":859,"depth":138,"text":860},"See whether the coding agents in your sessions are working, waiting for you or done.",{},4,"\u002Fdocs\u002Fiphone\u002Fcoding-agents",{"title":756,"description":873},"docs\u002Fiphone\u002Fcoding-agents","z2vP6UCuwuQEwfalxCQVkDe24ccnqTqZGICjYTD2TVM",{"id":881,"title":882,"body":883,"date":146,"description":993,"extension":148,"meta":994,"navigation":150,"order":995,"path":996,"platform":153,"seo":997,"stem":998,"__hash__":999},"docs\u002Fdocs\u002Fiphone\u002Fappearance.md","Appearance",{"type":8,"value":884,"toc":985},[885,892,896,909,913,920,924,941,945,959,963,970,974],[11,886,204,887,208,889,891],{},[30,888,207],{},[30,890,882],{},". A live preview shows each change before you leave the page.",[15,893,895],{"id":894},"light-and-dark","Light and dark",[11,897,898,901,902,241,905,908],{},[30,899,900],{},"App Appearance"," follows the system, or keeps Warpeer light or dark. The terminal has its own ",[30,903,904],{},"Light Terminal Theme",[30,906,907],{},"Dark Terminal Theme",", so it can switch with the rest of the app.",[15,910,912],{"id":911},"terminal-themes","Terminal themes",[11,914,915,916,919],{},"Warpeer includes all 602 Ghostty themes and two Warpeer themes. Open ",[30,917,918],{},"Terminal Themes"," to search them by name and preview each palette. You can also open the theme gallery from a magic key while you work.",[15,921,923],{"id":922},"text","Text",[11,925,926,927,107,930,241,933,936,937,940],{},"Choose between the bundled JetBrains Mono and Maple Mono NF fonts, and set the ",[30,928,929],{},"Font Size",[30,931,932],{},"Font Weight",[30,934,935],{},"Line Height",". With ",[30,938,939],{},"Pinch to Resize Text"," on, pinch the terminal to change the size on the spot.",[15,942,944],{"id":943},"cursor","Cursor",[11,946,947,950,951,954,955,958],{},[30,948,949],{},"Cursor Type"," sets the cursor shape. ",[30,952,953],{},"Blinking Cursor"," makes it blink after you stop typing, and ",[30,956,957],{},"Cursor Motion"," animates it when it moves.",[15,960,962],{"id":961},"app-icon","App icon",[11,964,965,966,969],{},"Under ",[30,967,968],{},"App Icon",", choose the owl icon style, Engraving or Sketch, and the colour of its title band: Clay, Ochre or Terracotta. Every icon has light, dark and tinted versions that follow your Home Screen setting.",[15,971,973],{"id":972},"language","Language",[11,975,976,977,208,979,220,981,984],{},"Warpeer is available in English and Simplified Chinese. Open ",[30,978,207],{},[30,980,973],{},[30,982,983],{},"Follow System"," uses your iPhone's language, or the language chosen for Warpeer in iOS Settings; any Chinese system language shows Simplified Chinese. Choose a language to fix it instead. The change applies immediately, without closing your sessions. Terminal output, command names and messages from your server are not translated.",{"title":137,"searchDepth":138,"depth":138,"links":986},[987,988,989,990,991,992],{"id":894,"depth":138,"text":895},{"id":911,"depth":138,"text":912},{"id":922,"depth":138,"text":923},{"id":943,"depth":138,"text":944},{"id":961,"depth":138,"text":962},{"id":972,"depth":138,"text":973},"Choose terminal themes for light and dark mode, fonts, cursor style, the app icon and the app language.",{},8,"\u002Fdocs\u002Fiphone\u002Fappearance",{"title":882,"description":993},"docs\u002Fiphone\u002Fappearance","u-0-am1yMP8lhTV0ufk8H4FEQ6TiYkttnp6DXlFmr_0",{"id":1001,"title":1002,"body":1003,"date":146,"description":1120,"extension":148,"meta":1121,"navigation":150,"order":1122,"path":1123,"platform":153,"seo":1124,"stem":1125,"__hash__":1126},"docs\u002Fdocs\u002Fiphone\u002Ftroubleshooting.md","Troubleshooting and support",{"type":8,"value":1004,"toc":1114},[1005,1009,1022,1048,1052,1058,1072,1075,1079,1093,1097],[15,1006,1008],{"id":1007},"a-host-will-not-connect","A host will not connect",[11,1010,1011,1012,208,1014,1016,1017,208,1019,1021],{},"When a connection fails, the host shows a red error button in ",[30,1013,267],{},[30,1015,32],{},". Tap it to read the last error, or open ",[30,1018,267],{},[30,1020,611],{},", for the full history. Common causes:",[23,1023,1024,1030,1039],{},[26,1025,1026,1029],{},[30,1027,1028],{},"Wrong address or port."," Check that you can reach the server from the iPhone's network. Servers on a private network need a VPN such as Tailscale on the iPhone.",[26,1031,1032,1035,1036,1038],{},[30,1033,1034],{},"Authentication failed."," Check the username and the Keychain credential on the host. For key sign-in, the public key must be in ",[323,1037,582],{}," on the server, and an encrypted key needs its passphrase.",[26,1040,1041,1044,1045,1047],{},[30,1042,1043],{},"Host Key Changed."," The server presented a different fingerprint from the one you trusted. If you rebuilt or replaced the server, confirm the new fingerprint with its administrator, delete the old entry in ",[30,1046,592],{}," and connect again. If you did not expect a change, do not connect.",[15,1049,1051],{"id":1050},"sessions-agents-or-git-do-not-appear","Sessions, agents or git do not appear",[11,1053,1054,1055,1057],{},"These features rely on the ",[500,1056,865],{"href":410},". Your terminal still works if the helper cannot run, but the extra information is missing. Check that:",[23,1059,1060,1063,1066,1069],{},[26,1061,1062],{},"your home directory on the server is writable and allows programs to run;",[26,1064,1065],{},"the server runs Linux or macOS on x86_64 or ARM64;",[26,1067,1068],{},"tmux or Herdr is running, if you expect sessions to be listed;",[26,1070,1071],{},"the current pane is inside a git repository, for git status.",[11,1073,1074],{},"If a newer Warpeer app on another device installed a newer helper, update Warpeer on this iPhone.",[15,1076,1078],{"id":1077},"a-session-disconnects-in-the-background","A session disconnects in the background",[11,1080,1081,1082,1084,1085,1087,1088,1090,1091,326],{},"iOS limits how long apps stay active after you leave them. Your tmux or Herdr session keeps running on the server. Return to Warpeer and tap ",[30,1083,717],{},", or raise the background time limit and ",[30,1086,731],{}," interval in ",[30,1089,207],{},". See ",[500,1092,479],{"href":750},[15,1094,1096],{"id":1095},"send-feedback","Send feedback",[11,1098,204,1099,208,1101,1104,1105,1108,1109,1113],{},[30,1100,207],{},[30,1102,1103],{},"Help & Feedback",", and tap ",[30,1106,1107],{},"Copy Diagnostics",". It copies only the app and iOS versions, never hosts, commands, passwords, credentials or terminal output. Paste it into an email to ",[500,1110,1112],{"href":1111},"mailto:support@warpeer.com","support@warpeer.com"," with a description of what happened.",{"title":137,"searchDepth":138,"depth":138,"links":1115},[1116,1117,1118,1119],{"id":1007,"depth":138,"text":1008},{"id":1050,"depth":138,"text":1051},{"id":1077,"depth":138,"text":1078},{"id":1095,"depth":138,"text":1096},"Fix common connection problems and send useful feedback.",{},9,"\u002Fdocs\u002Fiphone\u002Ftroubleshooting",{"title":1002,"description":1120},"docs\u002Fiphone\u002Ftroubleshooting","Yfp_h-AD7SRvFO1V25IsRXnWobUOqwdd1NLknj5FaFk",1792460648620]