Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

stack: functions serve fails without a TTY because the default output format is one it rejects

Closed
#7,010 0 comments 0 reactions 1 assignee View on GitHub

Maintainers usually reply within 1 day

@7ttp is already working on this.

Since Oct 6, 2026.

  • #7027 by @7ttp — open

Assessment

Difficulty
3/5
Estimated time
Half a day
Newbie friendliness
68/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Active
Tech stack
typescript

Research direction

Search the CLI for FunctionsServeStackError and the check that output must be text or stream-json. Find where the default --output-format is chosen when stdout is not a TTY (CI, redirects). Change that default to stream-json or text so non-interactive supabase functions serve no longer errors. Confirm with a redirected run and any existing functions-serve tests.

Written by the indexing model from the issue text.

Description

🐛 Bug supabase/cli
Supabase CLI version

2.119.0, macOS 26.3 (Apple silicon)

Actual output

Run without a TTY (CI step, agent sandbox, cmd > log &):

$ SUPABASE_EXPERIMENTAL_STACK=1 supabase functions serve --env-file fn.env > serve.log 2>&1
{"_tag":"Error","error":{"code":"FunctionsServeStackError","message":"Functions serve requires text or stream-json output.","suggestion":"Use --output-format stream-json for structured live output."}}

The non-TTY default output format is one functions serve refuses, so every non-interactive caller has to pass --output-format text or stream-json. The native runtime targets exactly those callers (CI runners, coding-agent sandboxes).

Expected behavior

Without a TTY, functions serve defaults to stream-json (or text) rather than failing.

I investigated this with help from an AI coding assistant (Claude Code), which also drafted this text. The results above come from real runs.

Dominant language
TypeScript
Stars
2.4k
Forks
531
Avg merge
1d 4h
Merged PRs (30d)
346

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from supabase/cli

All issues in supabase/cli

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.