更新履歴
RoamTermのスマホアプリとデスクトップエージェントの全リリースを、新しい順に掲載しています。
スマホアプリ(iOS・Android) デスクトップエージェント(Mac・Windows・Linux) Atomフィード
スマホアプリ(iOS・Android)
ストアに表示される各バージョンの新機能です。
-
バージョン 1.11.0
リリース日:
- 新機能:リモートサポート。使い捨てのヘルプコードで、スマートフォンから友だちのパソコンをサポートできます。接続は毎回相手が承認し、接続中は相手の画面にバーが表示されます。エンドツーエンド暗号化。サポートする側はGoogleまたはAppleでのサインインが必要で、1セッション15分まで無料です(Pro:時間制限なし)。
- ペアリングしたパソコンが、サインイン中の他の端末にも表示されます。
- リモートデスクトップ:Androidキーボードのバックスペースが使えるようになり、スマートフォンでコピーした文字をパソコンに貼り付けられます。
- 購入が完了しなかった場合に、わかりやすい説明と再試行ボタンを表示します。
-
バージョン 1.10.3
リリース日:
- 安定性:最近使ったアプリから RoamTerm を閉じても、コンピュータとの接続が維持されるようになりました。
-
バージョン 1.10.2
- iPhone に新しい Claude Code ページ:Claude があなたを必要としたときや作業を終えたときに通知。コンピュータ用のワンステップ設定コマンド付き。
-
バージョン 1.10.1
リリース日:
- 権限を削減:RoamTerm は写真・動画・音楽へのアクセスを求めなくなりました。
-
バージョン 1.10.0
リリース日:
- 新機能: Claude Code があなたを必要とするとプッシュ通知。タップするとそのターミナルセッションが開きます。
- クイックコマンド:実行/入力のみ、危険なものは確認、{{値}}、検索、読み込みと書き出し。
- 新機能:ADB のオン/オフとコンピューターのターミナルを開くクイック設定タイル(Android)。
- 新機能:サポートとフィードバックの「サービスの稼働状況」でRoamTermの稼働を確認できます。
-
バージョン 1.9.2
リリース日:
- 新機能:再起動までADBを待機させる設定(任意、ADB画面)。あとでWi-FiなしでもADBを再びオンにできます。
-
バージョン 1.9.1
リリース日:
- 新機能:設定に「サポートとフィードバック」を追加。不具合の報告、機能の提案、質問ができます。すべてのメッセージに目を通しています。
-
バージョン 1.9.0
リリース日:
- アップデート後に新機能を表示し、設定 > 概要で全バージョンの履歴を確認できます。
- アプリ内アップデート通知:Androidではストアを開かずアプリ内で更新できます。
- 修正:プライバシーポリシー、利用規約、サポートのリンクがお使いの言語の正しいページを開きます。
-
バージョン 1.8.3
リリース日:
- Wi-Fiとモバイルデータの切り替え時やサービス混雑時の接続がより安定しました。
- ペアリングリンクでカメラが開かなくなり、無効なリンクは分かりやすく表示します。
- アプリのデータが破損してもロックされなくなりました。
- ファイル転送:キャンセル後の後片付けと容量不足の通知。
- 大きな文字や横画面での表示を改善しました。
-
バージョン 1.8.2
リリース日:
- すべての購読者の Pro がリレーでも認識されるようになり、直接接続とフルスピードが使えます。
- Pro 機能はすべての経路(ペアリングリンク、ADB 設定、ファイル受け渡し)で確認されます。
- Pro が終了すると、ADB、ポート転送、リモートデスクトップ、AI アクセスが正しく停止します。
- 起動直後に Pro ユーザーへ購読画面が一瞬表示されなくなりました。
-
バージョン 1.8.1
リリース日:
- AIアクセスをオンにすると、マシン画面のセットアップカードが消えるようになりました。
- パソコン側の RoamTerm 0.11.1 で、10秒を超えるAI呼び出し、再起動後や並列の呼び出しを修正しました。更新: roamterm update
-
バージョン 1.8.0
リリース日:
- データ使用量:RoamTerm のモバイルデータと Wi-Fi 使用量を機能別・PC 別に表示。
- バッテリー:ADB オン時と待機時の推定消費、ロック時間、ヒント。
- オフラインモード:1 時間・明日まで・オフにするまで一切接続しません。
- モバイルデータ時のデータセーバー。
- ADB の新しい通知アイコン、PC カードに緑の ADB マーク。
- 一時停止中の PC は「ユーザーが一時停止中」と表示。RoamTerm 0.11.0 が必要
-
バージョン 1.7.0
リリース日:
- ADB の接続がより安定:ADB 動作中は Wi-Fi をスリープさせず、PC が adb を自動で再接続します。
- ADB の接続経路を選択:自動・直接を優先・リレーのみ。同じネットワークでは自動で直接経路に戻ります。
- ADB カードに使用中の経路と理由を表示。
- PC 側に RoamTerm 0.10.0 が必要:roamterm update
-
バージョン 1.6.2
リリース日:
- 修正:直接接続が切れた後に ADB トンネルが止まったままになる問題(PC 側で ADB がオフと表示)。約 10 秒で検知してリレーに切り替えます。
-
バージョン 1.6.1
リリース日:
- 修正:直接接続で ADB トンネルが切断を繰り返す問題(「インターネットなし、トンネルを待機中」)。直接経路のデータは常に順番どおり送信されます。
- 直接接続が失敗した場合は、すぐにリレーに切り替わります。
-
バージョン 1.6.0
リリース日:
- ADB 設定:QR の手順を明確化(カメラは RoamTerm ではなく Android の設定で開きます)。Wi-Fi と開発者向けオプションを確認し、各画面の図を表示。
- リモートデスクトップ:Mac で画面収録が未許可の場合、Mac が許可画面を表示し、アプリが何をオンにすべきか案内します。
- PC 側に RoamTerm 0.8.0 が必要:roamterm update
-
バージョン 1.5.0
リリース日:
- ファイル:再度開くとフォルダが空に見える問題を修正。「ここでターミナルを開く」を追加。
- リモートデスクトップと ADB トンネルは可能なら直接接続を使用(Pro)。直接/リレーと遅延を表示。
- リモートデスクトップ:低遅延モードでインターネット越しもなめらかに。
- PC 側に RoamTerm 0.7.0 が必要:roamterm update
-
バージョン 1.4.0
リリース日:
- リモートデスクトップ(Pro):スマホからパソコンを表示・操作。トラックパッド/タッチ、全モニター、画質設定、音声もスマホで。
- システム:CPU、メモリ、ディスク、ネットワークをリアルタイム表示。プロセスと電源操作は Pro。
- パソコンに RoamTerm 0.6.0 が必要です: roamterm update
-
バージョン 1.3.1
リリース日:
- ファイル:フォルダは読み込みバー付きですぐに開き、サブフォルダはバックグラウンドで読み込まれて瞬時に開きます。
- パソコンの RoamTerm 0.5.1 でさらに高速に: roamterm update
-
バージョン 1.3.0
リリース日:
- さらに賢いターミナル:入力中の候補、よく使うフォルダを優先、/ で Claude Code や Codex のコマンド。
- スマホとパソコン間でテキスト送信とクリップボード同期(同期は Pro)。
- どのアプリからでもパソコンへテキストを共有。
- パソコンに RoamTerm 0.5.0 が必要です: roamterm update
-
バージョン 1.2.3
リリース日:
- パソコン側でこのスマホの実際の名前、機種、Pro プランが表示されるようになりました。
- 接続の詳細に、接続がエンドツーエンドで暗号化されていることを表示します。
- パソコンの RoamTerm デスクトップアプリ 0.4.0 と組み合わせると最適です: roamterm update
-
バージョン 1.2.2
リリース日:
- このスマホを削除したパソコンは、一覧から自動で消えるようになりました。
- パソコンに RoamTerm エージェント 0.3.2 が必要:roamterm update
-
バージョン 1.2.1
リリース日:
- パソコンのエージェント再起動後、ADB トンネルが自動で再接続します。
- ADB 画面に「トンネルを再起動」ボタンを追加。
- RoamTerm エージェント 0.3.1 推奨:roamterm update
-
バージョン 1.2.0
リリース日:
- ターミナル入力中の候補表示:cd 後のフォルダ、ファイル、コマンド、git ブランチ、最近のコマンド。
- コマンド履歴:スマホとパソコンの最近のコマンドを検索して再実行。
- コマンド入力欄:長いコマンドも快適に入力して送信。
- 使いやすいキーバー:よく使うキーを先頭に、矢印は長押しで連続入力。
- 補完にはパソコンの RoamTerm エージェント 0.3.0 が必要:roamterm update
-
バージョン 1.1.0
リリース日:
- 入力不要の ADB ペア設定:パソコンに表示される QR コードをスキャン。
- 設定を開いたままでも通知からコードを入力できるように。
- パソコンの adb が接続されたことを表示。
- わかりやすいパソコンカードと新しいマシン画面。
- スマホとパソコンの間でファイルを送信。
- ターミナルセッションを簡単に削除。
- パソコンに RoamTerm エージェント 0.2.0 が必要です:roamterm update
-
バージョン 1.0.4
リリース日:
- Wi-Fiなしでリモート ADB:USBケーブルでパソコンに一度つなぐだけで設定できます。
- ペア設定の手順をわかりやすく短くしました。
- ケーブルでの設定にはパソコン側に RoamTerm エージェント 0.1.3 が必要です。
-
バージョン 1.0.3
リリース日:
- RoamTerm チームから贈られた Pro が確実に有効になるようになりました。
- サインインすると、この端末がすぐにアカウントに紐づきます。
- 安定性の改善。
-
バージョン 1.0.2
リリース日:
- 付与された Pro:RoamTerm チームが付与した Pro でアプリが使えるようになりました。
- リモート ADB:Wi-Fi がないときは、ワイヤレスデバッグに少しの間 Wi-Fi が必要なことをすぐに表示し、接続されると自動で続行します。
- コンピューター画面からワンタップで設定へ。
- プランのエラー表示をわかりやすく。
- ファイル:新規フォルダ/名前変更を修正。
- アクセシビリティと安定性の改善。
デスクトップエージェント(Mac・Windows・Linux)
デスクトップエージェントの更新履歴は英語で記載しています。
-
バージョン 0.12.0
リリース日:
- Control center: the Claude Code notifications card no longer shows a stray "null" next to the Install button; the remote desktop permission hint and a consent request are never on screen together (consent first, the hint returns after the answer).
- Keep awake: the computer no longer idle-sleeps while a phone is using it (terminal, files, ADB tunnel, AI session, remote desktop), so the phone does not lose it. New setting "Keep awake while a phone is connected" (Settings -> Keep awake, default on): "while a session is open" (default) or "while any phone is online", plus "also on battery" (default off: a laptop on battery is not kept awake unless you opt in). macOS holds a system-sleep assertion (the screen can still turn off), Windows
SetThreadExecutionState, Linux a logind inhibitor lock. Released within seconds when the last session ends, the phone goes offline, you pause the agent or change the setting, and always when the agent exits or crashes. Closing the lid still sleeps the computer. - Indicator "Keeping this Mac awake - <what>" on Overview, in Settings, in the menu bar panel and the tray menu (11 languages).
- SSH sessions now report what is running right now (
SessionInfo.Active), not only what the connection did so far. - Claude Code notifications:
roamterm notify(the hook command) androamterm claude-hooks install | uninstall | status. When Claude Code asks for permission, waits for input (Notification hook) or finishes a turn (Stop hook), the phone that owns that tmux session gets a push; a tap opens the terminal attached to that session. The push never contains the prompt, command, file names, directory or any Claude text (only "Claude needs you on <computer>"). Throttled per tmux session (waiting 1 per 2 min unless answered, done 1 per 5 min); no push while the phone is attached to that session. The installer merges into~/.claude/settings.jsonwithout touching your other settings or hooks (backup, atomic write, refuses invalid JSON, uninstall removes only RoamTerm's entries). Control center: new "Claude Code notifications" card on the AI / MCP tab. Needs a relay that announcespush_claude(older relays are never sent the new events). Seedocs/claude-hooks.md.
-
バージョン 0.11.4
リリース日:
- Control center: new "Support & feedback" page (
#/support, sidebar entry "Support"). Pick a category (problem, feature idea, question, other), write the message (10-5000 characters), optionally leave an email for a reply, and tick "Include diagnostic info" (on by default) with a "What is sent" list. Nothing is sent until Send; a failed send keeps the draft (the agent holds it while the window is closed) and a retry of the same text reuses its ticket id, so a report is never duplicated. On success the page shows the ticket number. Rate limits show when to try again. Opens from About ("Report a problem / Send feedback"), the menu bar panel, the tray menu androamterm feedback(=roamterm open support). - The report goes over HTTPS straight to the RoamTerm backend (not through the relay), 15 s timeout,
docs/support/CONTRACT.mdv1. Diagnostics are counts and flags only (version, OS and OS version, architecture, language, relay online/offline, P2P on/off, paired phones, open sessions, ADB / tmux installed, update channel): never host or user names, paths, keys, tokens, phone names or terminal content.GET /api/support/diagnosticsreturns exactly that object. - No API key is needed or sent (the function is public,
VERIFY_JWT=false).ROAMTERM_SUPPORT_URLoverrides the endpoint for tests (https, or http to loopback only).
- Control center: new "Support & feedback" page (
-
バージョン 0.11.3
リリース日:
- Control center and menu bar: a USB cable or Wireless debugging link between this computer and a phone is no longer shown as the RoamTerm ADB tunnel. The chips read "ADB tunnel 2 min" only while the tunnel is up, and "Wi-Fi debugging · 2 min" / "USB · 2 min" for the computer's own adb link (no duration when it was already there at start).
GET /api/devices/linksand the ADB status carry it as a separatelocal {kind, serial, since};adb.methodis now onlytunnel. - ADB tab: a "On this computer" box with the serial and a working
adb -s <serial> shell; the tunnel's address and commands show only while adb lists the tunnel as a device; screenshot / APK / scrcpy say why they are disabled. - A local adb link is credited to a paired phone only when unambiguous (model suffix match, never two phones of one model).
- A Pro period that ended while the phone was away shows "Pro ended" instead of "Pro"; an offline phone's model / app version are marked "reported <when>" and its last route is not shown as current. Devices "ADB" filter counts local links.
- Control center and menu bar: a USB cable or Wireless debugging link between this computer and a phone is no longer shown as the RoamTerm ADB tunnel. The chips read "ADB tunnel 2 min" only while the tunnel is up, and "Wi-Fi debugging · 2 min" / "USB · 2 min" for the computer's own adb link (no duration when it was already there at start).
-
バージョン 0.11.2 ·
- Relay busy (HTTP 503/429 with Retry-After, E_LIMIT, close 4429): the agent waits as told (at least 3 s, with jitter) instead of retrying at once; an old agent answered with E_VERSION now says "update required".
- After the computer sleeps, the dead relay link is noticed within seconds of waking (wall-clock jump) instead of up to 90 s later.
- Phone sessions whose link died silently (Wi-Fi switch, lid closed, phone out of range) are closed after ~90 s (SSH keepalive), so the control center no longer lists sessions that are gone.
- A phone removed while its approval dialog was open no longer gets a shell.
- A damaged devices.json or config.json (power loss, full disk) no longer stops the agent from starting: the file is moved aside (
*.corrupt-<time>), the agent starts with defaults and logs a warning. Settings files are now fsynced. - Starting RoamTerm a second time opens the running agent's control center instead of a second menu bar icon.
- Started from the login item or Finder, the agent now finds Homebrew/Android SDK tools (tmux, adb, git), and phone shells start in your home folder instead of
/. An invalid$SHELLfalls back to/bin/sh.
-
バージョン 0.11.1 ·
- MCP: tool calls that run longer than 10 seconds (
shellwith a longtimeout_s,install_apk, slowui_tree) no longer fail with "RoamTerm agent error: EOF"; the IPC reply deadline now starts when the answer is ready. - MCP: after the agent restarts (update, crash), an open MCP session opens a new AI session by itself and repeats the call once, instead of answering "unknown AI session; restart the MCP server" until the AI tool was restarted.
- MCP: two AI tools calling
ui_treeat the same time no longer kill each other'suiautomator dump; dumps are serialized. - Test hook
ROAMTERM_ADB_TUNNEL_TEST_PORT(17555-17559 only) so a test agent can run next to the user's own; docs/mcp.md updated (refusal wording,0= default, restart behaviour).
- MCP: tool calls that run longer than 10 seconds (
-
バージョン 0.11.0 ·
- Go offline: pause this computer for 1 hour, until tomorrow 08:00 or until you turn it back on (menu bar panel and menu, Settings -> General,
roamterm pause [--for 1h | --until 08:00],roamterm resume). Phones are told first (agent_paused), then the relay link, direct (P2P) peers, open sessions and the ADB tunnel are closed and no new connection is accepted; the control center keeps working. The pause survives restarts and ends by itself; the menu bar icon turns grey ("Offline") and every page shows a banner. Protocol: docs/PROTOCOL.md section 14.
- Go offline: pause this computer for 1 hour, until tomorrow 08:00 or until you turn it back on (menu bar panel and menu, Settings -> General,
-
バージョン 0.10.1 ·
- Fixed: the menu bar panel froze on the data of its first load (e.g. a phone shown "Offline" while the control center showed it online with ADB connected): every later refresh threw because it removed the loading skeleton a second time.
-
バージョン 0.10.0 ·
- ADB link watchdog: while a phone's tunnel is on, the agent keeps adb attached to 127.0.0.1:16555 (retries 1, 2, 4, 8 s, then every 15 s; checks every 10 s and repairs an offline / missing entry). Before, one failed auto-connect right after the tunnel came up ("connection refused") was never retried.
- ADB tab "ADB link" card: the path (Direct / Relay) with the reason in plain words, how long it has been up, the phone's path preference (Auto / Prefer direct / Relay only, sent to the phone) and Reconnect; the watchdog state. The menu bar panel and the Devices card show the reason too. Protocol:
adb_statepath / path_reason / pref / since; agent → phoneadb_path_pref,adb_reconnect(docs/PROTOCOL.md section 13). - Fixed: the Devices card's action buttons overlapped the paired date and Overview "Quick actions" labels were clipped (two components shared the CSS class
.qa). -
roamterm updateasks a running agent to restart into the new version (IPCagent.restart) and ends its progress line.
-
バージョン 0.9.1 ·
- Fixed: when the agent stopped on its own (Quit from the menu bar panel, Restart after an update or a permission grant) the menu bar loop kept the process alive with its icon and window, and the restarted agent ran next to it. Two agents, the window bound to the dead one: the device showed offline and ADB off while the menu bar said ADB. The tray now ends with the agent, and the restart helper ends an old agent that is still there after 20 s (TERM, then KILL) before it starts the new one.
-
バージョン 0.9.0 ·
- New look for the whole control center: a refreshed design system (motion, elevation, components: modal, toasts, progress, skeletons), a sidebar with a gliding active indicator and collapsible rail, page transitions, light and dark.
- Overview: animated connection diagram (phone, direct P2P or relay, this computer, with the round trip), count-up stat cards and a live "Connected devices" strip (online for, ADB for, method, path, sessions).
- Updates: "Update now" shows progress (download, signature check, install) and then asks "Restart now / Later"; a background install never restarts while you work, it asks the next time the window is focused.
GET /api/update/status,POST /api/update/restart. - Menu bar (macOS): a click opens a panel with every phone's card (online for, ADB connected for, method USB / Wi-Fi / tunnel direct or relay, turbo, sessions, quick actions) and "Connection methods" with tips for a faster connection; right click keeps the menu. Windows / Linux: per-phone submenus with the same info.
GET /api/devices/links. - Devices, device page and every tab, Settings (two columns, scroll-spy navigation, Connection methods card), Pair a phone (animated QR, live waiting state, success animation), ADB QR, About and the remote desktop dialogs restyled on the new design.
-
バージョン 0.8.2 ·
- Direct (P2P) path: ICE gives a quiet phone more time (disconnected 10 s, failed 30 s instead of 5 s / 10 s; phones on Wi-Fi power save went silent for a few seconds and the path was dropped), and every closed P2P connection is logged with its reason.
-
バージョン 0.8.1 ·
- After an update the agent now restarts in every mode (Terminal / Finder: a detached helper starts it again with the same arguments; LaunchAgent:
launchctl kickstart -k) and opens the control center on Settings again. Before, an agent started from a terminal kept running the old version and its window showed the old page. - "Restart RoamTerm" after a permission grant works under the LaunchAgent too (KeepAlive only covers crashes since 0.8.0).
- A debug log line for every ended SSH connection (alive time, first read/write error) to diagnose dropped links.
- After an update the agent now restarts in every mode (Terminal / Finder: a detached helper starts it again with the same arguments; LaunchAgent:
-
バージョン 0.8.0 ·
- ADB turbo is now an opt-in, experimental setting (off by default;
adb_turbo_exp). A phone running 0.7.0's turbo saw truncated screenshots ("invalid PNG: unexpected EOF") and an ended mirror ("video stream ended: EOF"). The proxy no longer drops the whole connection for one stream's anomaly (only that stream is closed), tolerates A_OKAY without a payload, returns the buffer budget of ended streams, never sends A_CLSE ahead of unacknowledged data, writes each leg from its own goroutine, and shows the last turbo issue in the ADB tab. docs/adb/turbo.md - Pairing approval dialog (macOS): like the remote desktop consent, only the Deny button counts as Deny; a dialog that cannot be shown keeps the request waiting for an answer from the control center.
- Control center ADB QR page: clearer steps (the scanner is Android's own, in Settings -> Wireless debugging), 11 languages.
- macOS: RoamTerm is now a real app. The pkg installs
/Applications/RoamTerm.app(icon, version, copyright, usage descriptions; the executable is the agent itself, so permissions belong to RoamTerm.app), opens it after the install, and the window starts on "Pair a phone" while no phone is paired. First launch registers start at login. Double click / Spotlight / Launchpad always opens the control center (also while the agent runs). Upgrades replace the oldRoamterm.app. The curl installer creates~/Applications/RoamTerm.apptoo (--no-appskips);roamterm uninstallandinstall --uninstallremove it. - macOS: the login item no longer restarts the agent after Quit from the menu bar (launchd KeepAlive only on a crash).
- Remote desktop, first use on a Mac: when Screen Recording was never granted, a start from the phone now asks macOS (system prompt, RoamTerm appears in the Screen Recording list), shows a notification and brings the control center forward on a "Remote desktop needs permission" card that names the app to switch on (RoamTerm, or Terminal / iTerm / ... when started from a shell), opens the Privacy pane and can restart RoamTerm. The phone gets a specific "waiting for permission" state instead of a bare "permission not given". Accessibility (mouse and keyboard) missing: the session starts view-only and the same card explains it.
- Remote desktop consent: only the Deny button (osascript -128) counts as Deny. When the native dialog cannot be shown (-1713, no GUI session, osascript blocked) the request keeps waiting and the control center shows an Allow once / Always allow / Deny card with a notification; the dialog now opens in front. Protocol:
info.permission_assist, extra fields onno_permission_screen(docs/PROTOCOL.md).
- ADB turbo is now an opt-in, experimental setting (off by default;
-
バージョン 0.7.0 ·
- ADB turbo: the agent now speaks ADB's delayed-ACK flow control with the phone over the tunnel and classic ADB with the local adb server (split proxy on 127.0.0.1:16555). Screen mirroring over the internet arrives evenly instead of in bursts once per round trip, and bulk ADB (install, pull, exec-out) is ~14x faster at 120 ms RTT (emulator: 0.8 -> 11.3 MB/s). On by default; turns itself off for 10 minutes for a phone whose adbd lacks the feature or on any protocol error (Settings -> ADB turbo). docs/adb/turbo.md
- Screen tab: new "Fast" preset (960 px, 3 Mbit/s, 30 fps), the default over the tunnel; preset explanations; the link (USB / Wi-Fi / internet tunnel) and a Turbo badge in the stats; a collapsible Logs panel next to the phone (shares the Logs tab's stream); screenshot dialog with Copy image, Save, Show in folder, Open and Cmd/Ctrl+Shift+S.
- Remote desktop: the flow window follows the measured round trip (up to 12 frames, drop age 300 ms-1.2 s) and the bitrate no longer drops on a steady long link; "low latency" (default) vs smoother buffering chosen by the phone.
- New "AI / MCP" tab per device: status (AI access on the phone, ADB tunnel, roamterm on PATH), copy-ready setup for Claude Code, Codex CLI, Claude Desktop, Cursor, VS Code / Copilot, Windsurf and generic JSON, and the full tool list generated from the MCP server (grouped, searchable, read-only vs acts). Overview card "Connect an AI tool".
- Appearance: System / Light / Dark theme (Settings and a sidebar toggle), applied before first paint; the native window follows it.
- Devices page: the device card no longer overflows with long names; the rename pencil sits next to the name.
-
バージョン 0.6.0 ·
- Remote desktop from the phone (Pro on the phone): see and control this computer's screens over the end-to-end encrypted link (SSH subsystem
roamterm-desktop). macOS: ScreenCaptureKit + hardware H.264 (VideoToolbox), mouse / keyboard through CGEvent, system sound as AAC (macOS 13+). Windows and Linux (X11): screen capture + input with RoamTerm's tiles codec (no sound yet). Every monitor, quality presets with adaptive bitrate, sound off / on the phone / on the phone with the computer muted (restored afterwards, also after a crash), keep-awake during a session. - Consent per phone: ask every time (Allow once / Always / Deny on this computer), always (unattended, turned on in the control center with a warning) or off. While a session runs the menu bar shows it with "Stop screen sharing", a notification appears and the audit log records start / stop (never pixels or typed text). New "Remote desktop" tab on the phone page and a Settings section with the macOS Screen Recording / Accessibility permissions and Grant buttons.
- System monitor for the phone (
roamterm-ctl): CPU (per core), memory, disks, network, battery, uptime, model; process list and ending your own processes; power actions (lock, display off, sleep, keep awake, restart, shut down, log out) without sudo; audit logged and rate limited.
- Remote desktop from the phone (Pro on the phone): see and control this computer's screens over the end-to-end encrypted link (SSH subsystem
-
バージョン 0.5.1 ·
- Phone file browser: folders open faster over the relay: one directory reply now carries up to 250 entries (was 100), so a big folder needs fewer round trips.
-
バージョン 0.5.0 ·
- Phone screen in the desktop app: the new Screen tab mirrors and controls an Android phone over ADB (scrcpy server v3.3.4 built in, H.264 decoded in the window): mouse = touch, wheel = scroll, right click = back, keyboard + paste, home / recents / power / volume / rotate, quality presets (Smooth 720p by default over the relay, Sharp, Data saver), full screen.
- Logs tab: live logcat with 50 000 lines, level / tag / app filters, text or regex search with highlight, crash and ANR cards, follow / pause, copy selection, export to ~/Documents/RoamTerm Logs, clear the phone's buffer.
- Clipboard tab: send text to the phone, texts from the phone, clipboard sync per phone and per direction (Pro on the phone; off by default; password-manager content is never synced; text is never logged).
- Smarter terminal suggestions for the phone: folders ranked by how often and how recently you use them (zoxide / z / autojump, shell history, the folders your phone visited), jump to frequent folders from anywhere; inside Claude Code, Codex or Copilot CLI
/suggests their commands plus your own commands, skills and plugins read from disk; npm / pnpm scripts, make targets, ssh hosts. - New MCP tools: logcat_search, crash_report, ui_tree, tap, swipe, input_text, press_key, launch_app, stop_app, list_packages, app_info, open_url (same AI access switch, audit log and rate limits).
- The control center fills wide windows; a phone's page is split into tabs (Overview, ADB, Screen, Logs, Clipboard, Files).
-
バージョン 0.4.0 ·
- RoamTerm desktop app: the control center opens in RoamTerm's own window (macOS WebKit, Windows WebView2) with a Dock / taskbar icon instead of a browser window; opening it again brings the same window to the front (one window only). Browser window as fallback.
- Menu bar / tray: green when phones are connected, the phone's name (or the count) next to the icon on macOS, connected phones in the menu (click opens the phone), Settings, "Update available". OS notifications for files received from a phone and new versions.
- Settings: start at login, approval policy, ADB auto-connect (all / chosen phones / off), folder for files from phones, screenshot folder + auto-save + auto-copy, notifications, updates (check now, install in the app, optional automatic install), license & Pro (plan, renewal / expiry date as the phone reports it), security & privacy.
- ADB screenshots work over the relay: own 90 s deadline (was 20 s, a 2-5 MB PNG over the tunnel timed out), 32 MB capture cap (busy screens were cut at 8 MB), progress with seconds and Cancel, errors shown. Copy to clipboard, Save, Show in folder, Download, strip of recent screenshots.
- Phones report their real name, model, OS, app version and Pro state (
device_info, mobile 1.2.3); rename is a visible pencil on phone cards and the phone page. - "End-to-end encrypted" shown on Overview, phone pages, pairing and About, with the host key fingerprint.
- macOS binaries run on macOS 13 and later again (earlier builds required the build machine's macOS version).
-
バージョン 0.3.2 ·
- Fix: after a relay restart the agent could stay offline until restarted ("got 421"): a failed handshake left its TLS connection in the pool and every retry reused it; websocket handshakes now always open a fresh connection.
- Removing a phone (control center,
roamterm devices revoke) now also removes this computer from that phone's list: the agent sends the removed phones with the allowlist (allowlist_set.revoked), the relay answers that phone's presence query withremoved: true.
-
バージョン 0.3.1 ·
- Control center ADB panel: "Reconnect" also works while adb shows the phone as offline: it clears the stale entry and, when the phone's tunnel is down, says so; a step-by-step note tells what to do on the phone.
- When a phone's ADB tunnel comes back and adb still lists 127.0.0.1:16555 as offline, the agent reconnects adb by itself.
- A phone's newer link takes its own reverse-forward listener over at once (the old, half-open link no longer blocks the port).
-
バージョン 0.3.0 ·
- Fix: the ADB QR page of the control center stayed blank (black) when no QR was pending, when the window opened in the background or when a request failed. It now always shows something (loading, the QR, "no QR is waiting", or an error with Retry), content no longer waits for an opacity animation, and an expired window or reloaded one-time link shows a styled "This window expired" page with
roamterm open <page>instead of a plain error text. On Linux the control center also opens when the agent runs as a user service withoutDISPLAY(X / Wayland sockets are detected). - Control center, ADB panel on the device page: live state of
127.0.0.1:16555(device / unauthorized / offline / absent), tunnel and adb client count, Connect / Disconnect / Reconnect (disabled with a reason when adb is missing or the phone's tunnel is off, with the install command), phone info (model, Android, battery, screen), screenshot (inline + download), APK install (<= 1 GiB, progress), scrcpy, copyable commands. Only fixed operations exist; one action at a time; timeouts 20 s / 5 min. - Devices: rename (local label, <= 64 characters, shown everywhere), "End sessions now", open connections with kind and route (relay / P2P), last connection route, readable timeline with copy buttons. Overview: cards for devices, ADB, pending QR codes, AI sessions, file hand-offs, P2P, and update status with "Update now" for self-managed installs (package-manager installs show their command).
- New ctl messages
term_complete(tab completion: commands,cddirectories, git, paths in the tmux pane's cwd) andshell_history(zsh / bash / fish / PowerShell, secrets filtered), seedocs/PROTOCOL.md. - Fix: the phone's ADB report was cleared when ANY ctl stream of the device closed; now only the stream that reported it owns it.
- Fix: the ADB QR page of the control center stayed blank (black) when no QR was pending, when the window opened in the background or when a request failed. It now always shows something (loading, the QR, "no QR is waiting", or an error with Retry), content no longer waits for an opacity animation, and an expired window or reloaded one-time link shows a styled "This window expired" page with
-
バージョン 0.2.0 ·
- Desktop control center: the two bare tray pages became a local web app (Overview, Pair a phone, Devices and device detail, ADB QR, About; Night/Day theme from the design tokens, 11 languages, polling live updates). Same security model as before (127.0.0.1, random port, one-time token -> HttpOnly SameSite=Strict cookie, Host + Origin checks, now a strict CSP with no inline code or external resources). It opens in an app-style window (Edge / Chrome / Brave / Chromium
--app=, default browser as fallback) and runs whenever there is a desktop session, with or without the tray. -
roamterm open [overview|pair|devices|adb-qr|about]and a tray item "Open RoamTerm". The macOS app now opens the control center when started from Finder (a launcher script hands over to the agent; double-clicking while the agent runs opens the window instead of doing nothing). - QR pairing for Android Wireless debugging:
adb_pair_qr(roamterm-ctl) shows the QR in the control center, orroamterm adb qrprints it in the terminal. In memory only, never logged, valid 5 minutes. -
tmux_kill(roamterm-ctl): the phone can remove a terminal session. - File hand-off:
files_info,files_ackand the pushedfiles_offer. Drag files onto a device in the control center (up to 2 GiB each); the phone downloads them over SFTP from a hidden outbox inside the SFTP root; files from phones land in~/Downloads/RoamTerm("Show in Finder / Explorer"). - The control center shows when the computer's adb is connected through a phone's tunnel (
client connected). -
roamterm runhints are OS-specific (macOS no longer says "Ctrl+C": "Control-C (⌃C)", ⌘T, menu bar), in all 11 languages, plus a "Control center: roamterm open" line. The tray hint is now shown on every OS. - The update check also runs for package-manager installs, only to show "update available" in the control center.
- Desktop control center: the two bare tray pages became a local web app (Overview, Pair a phone, Devices and device detail, ADB QR, About; Night/Day theme from the design tokens, 11 languages, polling live updates). Same security model as before (127.0.0.1, random port, one-time token -> HttpOnly SameSite=Strict cookie, Host + Origin checks, now a strict CSP with no inline code or external resources). It opens in an app-style window (Edge / Chrome / Brave / Chromium
-
バージョン 0.1.3 ·
-
adb_usb_tcpip(roamterm-ctl): switches a phone plugged in by USB to TCP mode for the no-Wi-Fi ADB setup; slow ctl requests are answered asynchronously.
-
-
バージョン 0.1.2 ·
- Messages follow the macOS interface language (System Settings) instead of the region-based
LANG(English UI with a Turkish region now gets English; launchd/terminals withoutLANGno longer fall back to English on a Turkish Mac). Order: ROAMTERM_LANG, LC_ALL, LC_MESSAGES, macOS UI language, LANG, English.
- Messages follow the macOS interface language (System Settings) instead of the region-based
-
バージョン 0.1.1 ·
-
roamterm runnow says when it is connected and what to do next (pair the phone, start at login, stop), in the system language; it no longer looks stuck after the first line.
-
-
バージョン 0.1.0 ·
- First public release, served from https://dl.roamterm.com/agent/ (the GitHub repo is private).
-
curl https://roamterm.com/install | shworks on stock macOS: without OpenSSL 3 the downloaded binary verifies the manifest and itself (roamterm verify-download, key from the installer). - macOS self-update and install use per-arch binaries (the universal one stays in the .pkg).
- ADB reverse tunnel: the newest link of a phone takes over (Wi-Fi to mobile data).