box.ascii.dev
Import ASCII Box sandboxes into Bast as read-only hosts via the native box CLI.
The Sync tab (3) imports ASCII Box sandboxes into Bast. Synced boxes show up in the host picker under Box, stay connectable with your system ssh, and keep connection details owned by Box sync.
Bast talks to Box through the native box CLI on your machine. There is no separate Bast cloud agent or Go SDK. Auth, list, stop, resume, and SSH key authorization all use the same CLI you already use with box.ascii.dev.
Bast supports GCP, AWS, Azure, and box.ascii.dev through each provider's native CLI.
Requirements
- ASCII Box CLI (
box) on yourPATH(the installer also places it at~/.ascii/bin/box) - An authenticated Box account (
box login/box onboard) - Network access to create, stop, resume, and SSH into your boxes
Connect box.ascii.dev
- Open Bast and press
3for Sync. - Select box.ascii.dev and press Enter.
- Choose Connect or Sync now.
If the Box CLI is already installed and logged in, Bast auto-connects on TUI start and when you run bast sync status, unless you previously chose Disconnect (sticky opt-out via bast sync disable box).
Sign in with the usual CLI:
box login
box statusWhat gets created
Each box becomes an SSH host Bast writes under:
~/.ssh/bast/sync/box/configYour managed Bast config includes that file so OpenSSH (and Bast) can see the hosts. In the picker they are grouped as:
Box
box-nameRunning boxes show Box synced. Stopped or archiving boxes stay in the same group, rendered muted, with detail Box stopped. Connection settings, group, and label are owned by sync, so edit (e), delete (d), move, favorite, and hide are blocked. Manage lifecycle from Sync or the Box host keys below.
How Bast connects
On connect (TUI Enter or bast connect / bast <label>), Bast prepares SSH access, then launches your system ssh.
| Situation | Behavior |
|---|---|
| Running box with IP | Direct SSH as user with ~/.ssh/ascii_box_ed25519 |
| Stopped box | Enter resumes the box, refreshes sync, then SSHs in |
| Missing local key | Ensures ~/.ssh/ascii_box_ed25519 and authorizes it on the box |
SSH user is always user. There is no default-user setting for Box.
Stopping and archiving
Stopping a box snapshots it and pauses billing (archiving → archived). That can take a few minutes. Bast keeps the host visible and muted while the box is stopping, then keeps it under Box so you can resume later.
box.ascii.dev settings
Inside the box.ascii.dev submenu:
| Action | Purpose |
|---|---|
| Sync now | Re-run discovery and refresh SSH config |
| New box | Create a sandbox (small / default / large) |
| Connect / Disconnect | Enable sync, or turn it off and remove generated hosts (Disconnect also opts out of auto-connect) |
| Enable / Disable auto-sync | Sync when the TUI opens |
| Refresh status | Reload account and last-sync info |
Press Esc to return to the provider list.
Host keys (Hosts tab)
With a Box host selected:
| Key | Action |
|---|---|
| Enter | Connect (resume first if stopped) |
r | Resume only (when stopped) |
o | Stop (when running; confirms with stop) |
n | Fork from the latest snapshot (confirms with fork) |
F | Open Files (SFTP) when the box is reachable |
CLI
bast sync box # discover and write hosts
bast sync status # account, last sync, errors
bast sync disable box # turn off, remove sync hosts, sticky opt-out
bast sync box --json
bast box new [--type small|default|large] [--ttl seconds | --no-auto-stop] [--no-env]
bast box fork <host|id> [--type small|default|large] [--no-env]
bast box stop <host|id>
bast box resume <host|id> [--type small|default|large] [--no-env]
bast connect box_mybox # banner + Box access prepare, then sshRe-sync and cleanup
Press r on the Sync tab (or run bast sync box) after you create, stop, or resume boxes outside Bast. Disconnecting box.ascii.dev removes the generated sync config and the Include line Bast added for it. Your Bast-managed hosts and keys are left alone. ~/.ssh/ascii_box_ed25519 is left in place if Bast created it.