You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Switch from FOUNDRY_FF_ENHANCED_UI to FOUNDRY_UI_HEADLESS_MODE (#5)
* Switch from FOUNDRY_FF_ENHANCED_UI to FOUNDRY_UI_HEADLESS_MODE
Per Josh Marlow (Foundry CLI team), FOUNDRY_FF_ENHANCED_UI is a temporary
feature flag that will be removed. FOUNDRY_UI_HEADLESS_MODE=true is the
correct long-term env var for disabling TUI features in headless/CI
environments. Updated hook, tests (171 passing), skills, use cases,
and scripts.
* Add SessionStart hook to auto-inject FOUNDRY_UI_HEADLESS_MODE
The plugin now sets FOUNDRY_UI_HEADLESS_MODE=true automatically at
session start via CLAUDE_ENV_FILE, so users never need to prefix
deploy/release/list-deployments commands manually.
- New hooks/set-foundry-env.sh (SessionStart hook)
- Updated hooks.json with SessionStart entry
- Removed FOUNDRY_UI_HEADLESS_MODE=true prefix from all docs/examples
- Guard hook kept as fallback for edge cases
- 174 hook tests passing (3 new for SessionStart)
- A/B tested: 5/5 deployed
if [ "${FOUNDRY_FF_ENHANCED_UI:-}"!="false" ] &&!echo"$COMMAND"| grep -qF 'FOUNDRY_FF_ENHANCED_UI=false';then
104
+
if [ "${FOUNDRY_UI_HEADLESS_MODE:-}"!="true" ] &&!echo"$COMMAND"| grep -qF 'FOUNDRY_UI_HEADLESS_MODE=true';then
103
105
jq -n '{
104
106
hookSpecificOutput: {
105
107
hookEventName: "PreToolUse",
106
-
additionalContext: "The command is missing FOUNDRY_FF_ENHANCED_UI=false. The enhanced UI (TUI progress monitor) requires a TTY and will hang in Claude Code. Prepend FOUNDRY_FF_ENHANCED_UI=false to the command. Example: FOUNDRY_FF_ENHANCED_UI=false foundry apps deploy --change-type Patch --change-log \"msg\""
108
+
additionalContext: "The command is missing FOUNDRY_UI_HEADLESS_MODE=true. The enhanced UI (TUI progress monitor) requires a TTY and will hang in Claude Code. Prepend FOUNDRY_UI_HEADLESS_MODE=true to the command. Example: FOUNDRY_UI_HEADLESS_MODE=true foundry apps deploy --change-type Patch --change-log \"msg\""
Copy file name to clipboardExpand all lines: skills/foundry-development-workflow/SKILL.md
+11-16Lines changed: 11 additions & 16 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -30,13 +30,8 @@ metadata:
30
30
>
31
31
> **CRITICAL: `--no-prompt` is supported by nearly all commands.** Always add `--no-prompt` to prevent interactive prompts that cause `Error: EOF` in non-interactive environments. Supported commands include: `apps create`, `apps deploy`, `apps release`, `apps delete` (also needs `--force-delete`, but may still prompt interactively in some CLI versions — delete via Falcon App Manager UI if it hangs), `functions create`, `collections create`, `ui pages create`, `ui extensions create`, `rtr-scripts create`, `profile create`, `workflows create`, and `api-integrations create`. When unsure, run `foundry <command> --help` to check. When a CLI command fails, MUST NOT fall back to `mkdir` — fix the command and retry.
32
32
>
33
-
> **CRITICAL: `FOUNDRY_FF_ENHANCED_UI=false` is required for non-TTY environments.**
34
-
> The enhanced UI (TUI progress monitor) requires a TTY and will hang or fail in Claude Code, CI/CD pipelines, and headless environments. **Always prepend `FOUNDRY_FF_ENHANCED_UI=false` to these commands:**
**Note:** There is no `list-releases` command. After `release`, check status via the App Manager URL printed in the output, or wait ~30s and proceed to testing.
@@ -215,7 +210,7 @@ To deploy the same app to multiple clouds (US-1, US-2, EU-1, etc.):
215
210
216
211
When `manifest.yml` already exists, work is primarily editing existing files. Use CLI only for:
217
212
-`foundry apps run` / `foundry ui run` — local development
@@ -85,12 +85,12 @@ Error: could not open a new TTY: open /dev/tty: device not configured
85
85
86
86
or hang and produce garbled output.
87
87
88
-
**Fix: Always prepend `FOUNDRY_FF_ENHANCED_UI=false`** to commands that trigger the TUI:
88
+
**Fix:** The plugin's SessionStart hook sets `FOUNDRY_UI_HEADLESS_MODE=true` automatically for all Bash commands. If running outside the plugin (CI/CD, scripts), set the env var manually:
0 commit comments