Slack integration for interviews
Fabro can now conduct human-in-the-loop interviews directly in Slack. The new Slack Socket Mode integration supports all five question types — yes/no, confirmation, multiple choice, multi-select, and freeform (via threaded replies). Because it uses Socket Mode, no public URL or webhook endpoint is required. Previously, interviews required the CLI or web UI. Now teams can answer Fabro’s questions without leaving Slack.Hooks
Workflows can now trigger actions at key moments — before a stage starts, after it completes, or when a run fails. Use hooks to notify external systems, enforce policies, or gate execution on custom conditions. Three executor types are available:http for calling external endpoints (with TLS mode configurable per-hook), prompt for natural-language conditions evaluated by an LLM, and agent for autonomous decision-making.
run.toml
Model failover
If your primary model is unavailable or rate-limited, runs now automatically switch to a backup. Configure fallback models at the provider level in your server config:server.toml
GPT-5.4 and GPT-5.4 Pro
OpenAI’s GPT-5.4 and GPT-5.4 Pro are now available in the model catalog. Use the aliasesgpt54 and gpt54-pro in your workflow stylesheets. Neither replaces GPT-5.2 as the default OpenAI model.
More
CLI
CLI
- Added
fabro parsecommand for printing the raw AST of a DOT workflow as JSON - Persistent CLI defaults in
~/.fabro/cli.toml— set output format, default workflow, or any flag once
Workflows
Workflows
- Richer condition expressions:
||,!, numeric comparisons,contains, andmatches(regex) - Per-node
max_visitsattribute overrides the graph-levelmax_node_visitssetting $$escapes literal dollar signs in prompts, fixing a bug where$goalcould match as a substring- Simplified handler type names:
agent_loopis nowagent,one_shotis nowprompt(old names still work)
Fixes
Fixes
- Fixed a server-side error message that could leak to the browser in production
- Fixed a crash in the web UI when loading run stages (
apiStages.mapon non-array response) - Fixed Docker demo build and verifications API response parsing
Improvements
Improvements
- MODEL column in CLI tables widened from 24 to 30 characters to avoid truncating longer model names
- Unknown
$variableplaceholders in DOT prompts now produce clear error messages instead of being silently passed through