install
# macos
brew tap diab-ma/pseudocoder-host https://github.com/diab-ma/pseudocoder-host
brew install pseudocoder
# linux / wsl
curl -sSL https://raw.githubusercontent.com/diab-ma/pseudocoder-host/main/install.sh | bash
get the mobile app from the App Store.
pair
cd /path/to/your/project
pseudocoder start --pair --qr
scan the QR code from the app. codes expire after 2 minutes. if the QR won't scan, enter the code manually.
networking
the host auto-detects: Tailscale if available, otherwise LAN. both devices need to be on the same network. never expose to the public internet.
Tailscale (recommended): install on both devices, sign in with the same account. everything else is automatic.
configuration
pseudocoder start creates ~/.pseudocoder/config.toml if missing. most defaults work out of the box.
repo = "/path/to/your/project"
addr = "0.0.0.0:7070"
require_auth = true
history_lines = 5000
diff_poll_ms = 500
mdns_enabled = true
# chunk grouping
chunk_grouping_enabled = true
chunk_grouping_proximity = 5
# commit options
commit_allow_no_verify = false
commit_allow_no_gpg_sign = false
push_allow_force_with_lease = false
# daemon mode
daemon = false
pid_file = ""
log_file = ""
local_terminal = true
session_cmd = ""
# keep-awake
keep_awake_remote_enabled = false
keep_awake_allow_on_battery = true
keep_awake_auto_disable_battery_percent = 20
command reference
pseudocoder start --pair --qr-- start host + show pairing QRpseudocoder pair --qr-- generate new pairing codepseudocoder doctor-- diagnose connectivity issuespseudocoder host start-- start as background daemonpseudocoder host status-- show host statuspseudocoder devices list-- list paired devicespseudocoder devices revoke <id>-- revoke device accesspseudocoder session list-- list active sessionspseudocoder session new --name <name>-- create a new sessionpseudocoder session kill <id>-- kill a sessionpseudocoder session rename <id> <name>-- rename a sessionpseudocoder session list-tmux-- list available tmux sessionspseudocoder session attach-tmux <name>-- attach to a tmux sessionpseudocoder session detach <id>-- detach from a tmux sessionpseudocoder keep-awake enable-remote-- allow mobile keep-awakepseudocoder keep-awake disable-remote-- disable mobile keep-awakepseudocoder keep-awake status-- show keep-awake statepseudocoder --version-- show version