CLI Setup
The Python CLI is an independent alternative for terminal workflows, automation, and headless setups. It uses the same control engine as the desktop app. For everyday interactive use, start with the Desktop App. Installing from PyPI provides the CLI, not the desktop app.
Install
Install Pad-Lattice as an isolated command:
pipx install pad-lattice
This installs from PyPI without modifying the system Python. Inside an active
virtual environment, use python -m pip install pad-lattice instead.
Confirm the installation:
pad-lattice --version
pad-lattice doctor
The normal package includes physical MIDI support, the local browser bridge, and QR pairing.
Control Real Codex in a Browser
Start the virtual surface:
pad-lattice web
Pad-Lattice prints and opens a tokenized loopback administrator URL. Leave this process running; it is both the agent daemon and local browser bridge. Treat that URL as a credential and do not share it.
Launch an integrated session:
pad-lattice codex --label implementation
On the first Pad-Lattice-launched session, run /hooks to review and trust the
scoped commands. Prompt, running, approval, and completion states then update
automatically. Ordinary codex sessions do not load these hooks or show their
review prompt.
When Codex requests permission, select its Agent Scene and tap the lit Approve or Reject control. A decision applies only to the selected session and current request. After 60 seconds without a surface decision, Codex restores its normal keyboard prompt.
To resume a saved conversation, use pad-lattice codex --label work -- resume <SESSION_ID>.
For several agents, run one launcher per terminal with a distinct label.
See Control Codex for the pad's controls and
Codex Integration for hook details.
Phone, Tablet, or Laptop
Expose the virtual surface to the trusted local network:
pad-lattice web --lan
The local admin page shows a one-use QR code and six-digit PIN that expire in five minutes. Scan the QR or open the printed LAN URL and enter the PIN. The paired device can reconnect until the daemon stops.
See Connect a Phone, Tablet, or Laptop for one or more devices, network troubleshooting, and Parallels Desktop. LAN mode is for a network you trust; never expose it through a router or use it on public Wi-Fi.
Physical Launchpad
Discover attached hardware and run the supported-device demo:
pad-lattice ports
pad-lattice devices
pad-lattice demo
Demo and Show can also run without MIDI:
pad-lattice demo --surface web
pad-lattice show --surface web
The tokenized local page opens first. Choose Start Demo or Start Show there to
start. Its Sound control is muted by default and belongs only to that browser.
Use --surface both to keep a Launchpad and every browser synchronized.
Run normal physical control by itself:
pad-lattice daemon --no-greeting
Mirror the same state and actions in browsers at the same time:
pad-lattice daemon --web --no-greeting
Only the daemon owns MIDI ports. Every surface feeds the same selected-session action router, so a tap and a physical press have identical semantics.
Where Next
| I want to... | Continue with... |
|---|---|
| Resume or run several Codex sessions | Control Codex |
| Connect several browser devices | Connect a Phone, Tablet, or Laptop |
| Learn the colors and symbols | Visual Protocol |
| Enable sounds | Audio Feedback |
| Play the audiovisual story | Visual Show |
| Test experimental hardware | Device Testing |
| Work on Pad-Lattice itself | Developer Guide |