Go to file
Claude 2f4d609290
Fix app rename failing with "port is taken" error
renameApp() killed the old process with .kill() but didn't wait for it
to actually exit before restarting on the same port. The OS still had
the port bound, causing the new process to fail with "port is taken".

Additionally, the old process's exit handler would fire after the rename
and corrupt the app's state—releasing the new process's port, setting
state to 'invalid', and nullifying the proc reference.

Fix by:
- Making renameApp async and awaiting proc.exited before proceeding
- Guarding the exit handler to bail out when a newer process has taken over

https://claude.ai/code/session_01W9GF8Cy7T6V2rnVcoNd1Nc
2026-02-12 16:13:59 +00:00
apps old apps 2026-02-11 19:55:03 -08:00
bin start adding cli 2026-01-28 22:36:23 -08:00
docs update claude 2026-02-11 20:55:59 -08:00
scripts enter pword once 2026-02-09 21:00:46 -08:00
src Fix app rename failing with "port is taken" error 2026-02-12 16:13:59 +00:00
templates tweak claude 2026-02-11 21:03:10 -08:00
.gitignore install current symlink automatically from git 2026-02-02 16:03:32 -08:00
.npmrc use npm.nose.space 2026-01-29 14:27:45 -08:00
bun.lock versions, rollback, clean 2026-01-30 22:13:34 -08:00
CLAUDE.md new claudes 2026-02-11 20:50:18 -08:00
package.json 0.0.6 2026-02-09 21:17:46 -08:00
PID.md PID ideas 2026-02-04 09:52:19 -08:00
README.md don't hardcode localhost 2026-02-02 15:50:40 -08:00
tsconfig.json toes new --<template> 2026-01-30 12:25:06 -08:00

🐾 Toes

Toes is a personal web server you run in your home.

Plug it in, turn it on, and forget about the cloud.

quickstart

  1. Plug in and turn on your Toes computer.
  2. Tell Toes about your WiFi by <using dark @probablycorey magick>.
  3. Visit https://toes.local to get started!

features

  • Hosts bun/hono/hype webapps - both SSR and SPA.
  • toes CLI for pushing and pulling from your server.
  • toes CLI for local dev mode.
  • https://toes.local web UI for managing your projects.
  • Per-branch staging environments for Claude.

cli configuration

by default, the CLI connects to localhost:3000 in dev and toes.local:80 in production.

toes config                                  # show current host
TOES_URL=http://192.168.1.50:3000 toes list  # connect to IP
TOES_URL=http://mypi.local toes list         # connect to hostname

set NODE_ENV=production to default to toes.local:80.

fun stuff

  • textOS (TODO, more?)
  • Claude that knows about all your toes APIS and your projects.
  • HTTPS Tunnel for sharing your apps with the world.
  • Charts and graphs in the webUI.

february goal

  • Corey and Chris are running Toes servers on their home networks, hosting personal projects and games.