---
title: "Clearer failure diagnostics and deployment docs"
date: "2026-05-01"
---

## Full error context in user-facing failures

Fabro now preserves source error chains across the CLI, server, sandbox, GitHub, OAuth, MCP, tracker, and workflow paths. Previously, several errors were flattened into a single message before reaching the user, which hid the underlying network, credential, serialization, or provider failure that actually needed attention.

This makes failures from commands such as `fabro run`, `fabro exec`, `fabro install`, `fabro dump`, and server-side run creation more actionable. The top-level message still describes the Fabro operation, while the source chain keeps the lower-level cause available in rendered output and diagnostics.

## Self-hosting documentation refresh

The public docs now separate local operation, self-hosted Docker, Railway deployment, and server operations into distinct pages. Older Render, Fly.io, DigitalOcean, and one-off deploy artifacts were removed so operators see the supported deployment paths instead of stale platform-specific instructions.

This gives new server installs a clearer path from "run the binary" to "operate Fabro behind your own process manager or container platform." The Docker Compose documentation now reflects the packaged service shape used by current self-hosted deployments.

## More

<Accordion title="API">
- Run projections now use stage vocabulary for stage completion and stage projection types
- Stage state and artifact retry fields are separated so API clients do not mix execution status with retry URLs
- TypeScript `StageState` JSON fields are typed instead of emitted as `any`
</Accordion>

<Accordion title="CLI">
- Removed the development-token environment override from normal CLI auth resolution
</Accordion>

<Accordion title="Fixes">
- Fixed Docker exec stop requests running an extra command after cancellation
- Fixed `fabro dump` hiding serde errors when a run projection could not be hydrated
- Preserved exec failure diagnostics through workflow initialization, finalization, and sandbox metadata snapshots
</Accordion>
