16da3300e3ceaeca950cd97336c5c2f52f0a1c21
The turn_completed notification handler called eventQueue.end(), which could terminate a replacement stream's queue if the old interrupted turn's completion arrived after the new stream had set up its queue. The streamInternal loop already breaks on terminal events, making the end() call redundant and unsafe during replaceAgentRun.
Add screen orientation polyfill, refactor provider launch config, and update desktop runtime manager
Add screen orientation polyfill, refactor provider launch config, and update desktop runtime manager
Paseo
Manage coding agents from your phone and desktop.
Warning
Early development — Features may break or change without notice. Use at your own risk.
Paseo is a self-hosted daemon for Claude Code, Codex, and OpenCode. Agents run on your machine with your full dev environment. Connect from phone, desktop, or web.
Getting Started
npm install -g @getpaseo/cli
paseo
Then open the app and connect to your daemon.
For full setup and configuration, see:
Development
Quick monorepo package map:
packages/server: Paseo daemon (agent process orchestration, WebSocket API, MCP server)packages/app: Expo client (iOS, Android, web)packages/cli:paseoCLI for daemon and agent workflowspackages/desktop: Tauri desktop apppackages/relay: Relay package for remote connectivitypackages/website: Marketing site and documentation (paseo.sh)
Common commands:
# run all local dev services
npm run dev
# run individual surfaces
npm run dev:server
npm run dev:app
npm run dev:website
# repo-wide checks
npm run typecheck
License
MIT
Languages
TypeScript
98%
JavaScript
1.4%
Shell
0.1%
