Bast
Sync

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 your PATH (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

  1. Open Bast and press 3 for Sync.
  2. Select box.ascii.dev and press Enter.
  3. 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 status

What gets created

Each box becomes an SSH host Bast writes under:

~/.ssh/bast/sync/box/config

Your managed Bast config includes that file so OpenSSH (and Bast) can see the hosts. In the picker they are grouped as:

Box
  box-name

Running 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.

SituationBehavior
Running box with IPDirect SSH as user with ~/.ssh/ascii_box_ed25519
Stopped boxEnter resumes the box, refreshes sync, then SSHs in
Missing local keyEnsures ~/.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 (archivingarchived). 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:

ActionPurpose
Sync nowRe-run discovery and refresh SSH config
New boxCreate a sandbox (small / default / large)
Connect / DisconnectEnable sync, or turn it off and remove generated hosts (Disconnect also opts out of auto-connect)
Enable / Disable auto-syncSync when the TUI opens
Refresh statusReload account and last-sync info

Press Esc to return to the provider list.

Host keys (Hosts tab)

With a Box host selected:

KeyAction
EnterConnect (resume first if stopped)
rResume only (when stopped)
oStop (when running; confirms with stop)
nFork from the latest snapshot (confirms with fork)
FOpen 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 ssh

Re-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.

On this page