Fya banner
umputun umputun

Fya

Development community

Description

PTY-backed Claude Code wrapper that provides claude -p compatible output

Installation

This entry records only its repository, not the path inside it, so there is no exact command to give. Open the source below and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

README

fya build Coverage Status Go Report Card

`fya` is a Claude Code print-mode wrapper backed by an interactive PTY session.

It provides practical parity with `claude -p` for callers that rely on print-mode text, JSON, or stream-json output. Internally, it starts interactive `claude` in a hidden PTY, types the prompt into the terminal, tails Claude Code transcript logs, and emits Claude-compatible output.

`fya` mirrors the one-shot `claude -p` contract: one process invocation accepts one prompt, streams one answer, emits one final result, and exits after cleanup.

Requirements

  • Go 1.26 to build from source
  • Claude Code installed as claude
  • Unix/macOS for PTY support

Windows returns an unsupported PTY error in v1.

Installation

**Homebrew:**

brew install umputun/apps/fya

**Binary releases:** download from [GitHub Releases](https://github.com/umputun/fya/releases) for linux/darwin amd64/arm64.

**From source:**

git clone https://github.com/umputun/fya.git
cd fya
make build

The binary is written to `.bin/fya`.

Usage

`fya` accepts the print-mode shape expected by tools that invoke Claude Code:

printf 'say hello\n' | fya --print --output-format=stream-json

A positional prompt also works without stdin and takes precedence over stdin:

fya --print "say hello"

Supported consumed compatibility flags:

  • -p, --print
  • --output-format=text|json|stream-json
  • --input-format=text|stream-json
  • --json-schema=SCHEMA
  • --replay-user-messages

Wrapper con