Skip to main content

SSH sandbox provider

Previously, running workflows on a remote machine meant provisioning a cloud VM through Daytona or exe.dev. Now you can point Fabro at any host you can already SSH into — a dev server, a home lab machine, or a NAS box — and run workflows there without any additional setup. The SSH sandbox connects using your existing SSH credentials, optionally clones the current repository, and runs all agent operations directly on the host.
run.toml
[sandbox]
provider = "ssh"

[sandbox.ssh]
destination = "user@myserver"
working_directory = "/home/user/workspace"
Custom SSH config files and ProxyJump hosts are supported via the config_file field.

fabro skill install

Fabro now ships with a built-in fabro-create-workflow skill for AI assistants (Claude Code, Codex) that knows Fabro’s DOT syntax, workflow attributes, node types, and run configuration. Run fabro skill install to extract it to your filesystem:
# Install for the current project
fabro skill install --for project

# Install for all projects (user-level)
fabro skill install --for user
After installation, AI assistants in your editor can use the skill when generating or editing Fabro workflows.

More

  • Added fabro graph subcommand to render workflow DOT graphs as SVG or PNG (requires Graphviz dot)
  • fabro run and fabro validate now print the resolved workflow path before execution
  • fabro doctor now groups checks into Required, Optional, and Server sections and shows a spinner while checks run
  • Added warning during fabro init when no git remote is configured
  • Added --shortstat flag to fabro diff for compact one-line summary output
  • fabro diff now includes uncommitted changes for in-progress runs
  • Retro step now shows tool call progress while the retro agent works
  • Added devcontainer field to SandboxConfiguration OpenAPI schema
  • Context compaction now produces higher-quality summaries: the summarization prompt is framed as a handoff document, and recent user messages are preserved through compaction so the agent retains the user’s actual words
  • Retro agent limits increased to 20 tool rounds and a 3-minute timeout for complex runs
  • Shadow branch now stores the full execution trace per node — prompts, responses, status files, diffs, and retro data — making it a self-contained, git-native run record
  • Parallel fan-out branches render like subagent info lines in the progress UI
  • Tool call file paths now display relative to the sandbox working directory
  • Remote sandbox runs skip unnecessary local worktree creation
  • progress.jsonl events now preserve consistent field order (ts, run_id, event)
  • Added last_file_touched as a third fallback for status extraction