import * as React from 'react'
import { createFileRoute } from '@tanstack/react-router'
import { CursorFieldProvider } from '~/components/butterfly'
import '~/styles.css'
export const Route = createFileRoute('/')({
head: () => ({
meta: [
{ title: 'Paseo β Manage coding agents from your phone and desktop' },
{
name: 'description',
content:
'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.',
},
],
}),
component: Home,
})
function Home() {
return (
{/* Hero section with background image */}
{/* Mockup - inside hero so it's above the gradient, positioned to overflow into black section */}
{/* Content section */}
)
}
function Nav() {
return (
)
}
function Hero() {
return (
Run Codex and Claude Code locally from your phone and desktop
Use your full dev environment on your own machine. Use voice to check
in, reply, and keep work moving from your phone.
)
}
function Step({
number,
children,
}: {
number: number
children: React.ReactNode
}) {
return (
{number}
{children}
)
}
function CodeBlock({ children }: { children: React.ReactNode }) {
const [copied, setCopied] = React.useState(false)
const text = typeof children === 'string' ? children : ''
function handleCopy() {
navigator.clipboard.writeText(text)
setCopied(true)
setTimeout(() => setCopied(false), 2000)
}
return (
$ {children}
)
}
function Story() {
return (
Background
I started using Claude Code soon after it launched, often on my phone
while going on walks to spend less time at my desk. I'd SSH into Tmux
from my phone. It worked, but the UX was rough. Dictation was bad, the
virtual keyboard was awkward, and the TUI would randomly start
flickering, which forced me to start over very often.
I started building a simple app to manage agents via voice. I continued
adding features as I needed them, and it slowly turned into what Paseo
is today.
Anthropic and OpenAI added coding agents to their mobile apps since I
started working on this, but they force you into cloud sandboxes where
you lose your whole setup. I also like testing different agents, so
locking myself to a single harness or model wasn't an option.
)
}
function FAQ() {
return (
FAQ
Paseo is free and open source. It wraps CLI tools like Claude Code and
Codex, which you'll need to have installed and configured with your
own credentials. Voice features currently require an OpenAI API key,
but local voice is coming soon.
Paseo itself doesn't send your code anywhere. Agents run locally and
communicate with their own APIs as they normally would. We provide an
optional end-to-end encrypted relay for remote access, but you can
also connect directly over your local network or use your own tunnel.
Claude Code, Codex, and OpenCode.
There isn't one.
I won't pretend this can't be misused to squeeze every minute of your
day into work. But for me it means less time at my desk, not more. I
brainstorm whole features with voice. I kick off work at my desk, then
check in from my phone during a walk. I see what an agent needs, send
a voice reply, and put my phone away.
Stroll, in Spanish. πΆββοΈ