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 QR
  • pseudocoder pair --qr -- generate new pairing code
  • pseudocoder doctor -- diagnose connectivity issues
  • pseudocoder host start -- start as background daemon
  • pseudocoder host status -- show host status
  • pseudocoder devices list -- list paired devices
  • pseudocoder devices revoke <id> -- revoke device access
  • pseudocoder session list -- list active sessions
  • pseudocoder session new --name <name> -- create a new session
  • pseudocoder session kill <id> -- kill a session
  • pseudocoder session rename <id> <name> -- rename a session
  • pseudocoder session list-tmux -- list available tmux sessions
  • pseudocoder session attach-tmux <name> -- attach to a tmux session
  • pseudocoder session detach <id> -- detach from a tmux session
  • pseudocoder keep-awake enable-remote -- allow mobile keep-awake
  • pseudocoder keep-awake disable-remote -- disable mobile keep-awake
  • pseudocoder keep-awake status -- show keep-awake state
  • pseudocoder --version -- show version