Flue: A TypeScript Framework for Building Autonomous Coding Agents

Flue is a TypeScript framework for building autonomous agents using a programmable harness architecture — the same pattern behind Claude Code and Codex. It lets you define agents that plan, gather context, write files, spawn subagents, and run shell commands, all within a sandboxed environment.
Key Features
- Agent Harness: Combines a model (e.g., Anthropic Claude Sonnet 4-6) with a harness for tools like filesystem read/write, grep, glob, bash execution, and network access.
- Sessions: Persistent contexts for tracking work, similar to Claude Code or Codex sessions.
- Skills: Reusable workflows with structured output using Valibot for runtime validation.
- Sandbox: Built-in zero-config virtual sandbox, or connect your own remote sandbox. Fine-grained control over environment variables and token exposure.
- Deployment: Agents bundle into an HTTP server for remote use, or run via CLI (
flue run) for local tasks and CI.
Example: AI Issue Triage in 22 Lines
import type { FlueContext } from '@flue/sdk/client';
import { Octokit } from '@octokit/core';
import * as v from 'valibot';
export default async function ({ init, payload, env }: FlueContext) {
const { issueNumber } = payload;
const agent = await init({ model: 'anthropic/claude-opus-4-7' });
const session = await agent.session();
const triage = await session.skill('triage', {
args: { issueNumber },
result: v.object({
severity: v.picklist(['low', 'medium', 'high', 'critical']),
reproducible: v.boolean(),
summary: v.string(),
}),
});
const body = **Severity:** ${triage.severity}\n**Reproducible:** ${triage.reproducible}\n\n${triage.summary};
await (new Octokit({ auth: env.GITHUB_TOKEN })).request(
'POST /repos/{owner}/{repo}/issues/{num}/comments',
{ owner: 'withastro', repo: 'flue', num: issueNumber, body },
);
}
Who It's For
Developers building custom AI agents for code review, issue triage, data analysis, customer support, or coding automation who want full control over the agent stack without renting a third-party tool.
📖 Read the full source: HN LLM Tools
👀 See Also

Building a voice-controlled multi-agent system on top of Claude Code
A developer built a wake-word-activated voice loop for Claude Code that spawns sub-agents, parallelizes work, and auto-QAs results. Full technical breakdown including speaker verification and PID watcher.

Free AI Product Launch Playbook Repository for Claude Users
A developer has released a free repository containing a structured AI product launch playbook designed to work with Claude. The repo organizes launch experience into practical stages including strategy, preparation, execution, and includes templates and tool references.

Claude Code v2.1.90 adds mouse support with CLAUDE_CODE_NO_FLICKER flag
Anthropic released Claude Code v2.1.90 with a new feature that enables mouse support in the chat interface. Users can activate it by setting the CLAUDE_CODE_NO_FLICKER=1 environment variable before running claude.

Constrails: Early-Alpha External Governance Layer for AI Agents
Constrails is an external runtime governance layer for AI agents that places a control layer between agents and their tools, implementing capability checks, risk scoring, policy evaluation, and audit logging. The early-alpha project aims to address safety concerns by moving controls outside the agent itself.