Halyard Fleet banner
alperarabaci alperarabaci

Halyard Fleet

Development community

Description

A control plane for orchestrating coding agents remotely. Approve tool calls, steer sessions, route work between agents — from any channel, across any agent runtime.

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

Halyard Fleet

[![CI](https://github.com/alperarabaci/halyard-fleet/actions/workflows/ci.yml/badge.svg)](https://github.com/alperarabaci/halyard-fleet/actions/workflows/ci.yml) [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE) [![Python 3.12+](https://img.shields.io/badge/python-3.12+-blue.svg)](https://www.python.org/downloads/)

Halyard Fleet puts your coding agent's permission prompt on your phone.

When Claude Code or Codex wants to run something, you see the command, the project it came from, and how risky it is — then you allow or deny from Telegram. You can also send new instructions into the running session and read its replies there. And when a turn dies on a server error the desk would otherwise swallow — an overloaded model, a usage limit hit mid-run — that reaches you too, instead of the session just going quiet.

It runs on your own machine. No open ports, no exposed API, nothing to log into.

Nothing is approved by accident: every failure — a crash, a timeout, an unreachable control plane — denies. Two things go through without a person, both empty until you fill them in: writes to paths you named, and tools you named. Every one is written to the audit log with the pattern that allowed it.

**Runtimes:** Claude Code, Codex  ·  **Channel:** Telegram  ·  **Tested on:** macOS

Approving a command from Telegram

Why it exists

Remote desktops, terminal streaming and mobile IDEs all try to move *the machine* to your phone. Halyard moves *the decisions* instead.

The user should not operate the computer remotely. The user should manage the agent's decisions, direction, state, and coordination.

You are not typing commands on a phone. You are answering the questions your agent would otherwise be blocked on, from wherever you are.

Quick start

1. Create a Telegram bot

Message [@BotFather](https://t.me/BotFather), send `/