Claude Code のためのオープンソースアプリ
Claude Code は、自分の Anthropic アカウントでサインインしたまま、自分のコンピューターで動き続けます。Happier はそこにスマートフォンとブラウザータブとデスクトップウィンドウを与えます。
How Happier runs Claude Code
Claude Code は、Happier がその手前に立つのではなく、その端末インターフェースの内側で動かせるエージェントです。統合ターミナルランタイムを有効にすると、Happier は共有ターミナルホスト上で本物の claude TUI を起動し、そのセッションを各デバイスへ配信し、アプリから送った内容をそこへ直接タイプします。つまり訂正は、ターンの終わりを待たずに、すでに実行中のターンへ届きます。訂正を受け取っているのは Anthropic 自身のターミナルであり、Happier はあなたの代わりにキーボードを握っています。これはセッションについてランナーと話すのとは別の仕組みであり、このページが存在する理由でもあります。
既定のランタイムは Agent SDK のもので、ほとんどのセッションではこちらが適切です。会話を再開でき、そのコンピューター上の Claude Code セッションを一覧でき、ベンダーの状態を二台目のコンピューターへ持ち運べ、利用上限で止められたときには、上限が実際に解除されたかどうかを推測に任せず確認しに行けます。できないのは、すでに実行中のターンにメッセージを差し込むことです。Anthropic は Agent SDK のストリーミング入力を、順次処理されるキュー入りのメッセージであり、中断は可能なものとして文書化しています。二つのランタイムのどちらを選ぶかで変わるのはその一点の挙動だけで、コードの置き場所は何も変わりません。
サインインは Anthropic のフローのままで、たまたまいる場所から開始できます。Claude Code のプロバイダーページは、選んだコンピューター上で claude を実行し、/login を送ります。そのためブラウザーでの手順は、手元のスマートフォンではなく、認証情報を保持することになるコンピューター側で行われます。Happier はインストールコマンドの表示を申し出る前に、Anthropic のインストーラーがバイナリを置く場所 — ~/.local/bin、~/.local/share/claude 配下のバージョン付きディレクトリ、Homebrew の prefix、~/.claude/local/cli.js — を探します。たいていのコンピューターでは、すでにそこにあるからです。
What Claude Code does, and what Happier adds
Claude Code は Anthropic のターミナル向けコーディングエージェントです。リポジトリで claude を実行すると、ファイルを読み、編集し、コマンドを実行します。Happier はそのどれも変えません。happier claude は同じバイナリを、同じディレクトリで、同じログインのもとで起動し、サインイン済みのすべてのデバイスへ会話をミラーリングします。
これで手に入るのは、その場を離れられることです。デスクでリファクタリングを始め、昼食に向かう道すがらスマートフォンで差分を読み、止まっていた権限リクエストに答え、席に戻ったらターミナルでそのセッションを再開する。リポジトリは元からあったコンピューターに置かれたままです。
ステアリングと中断は同じ操作ではなく、Claude Unified は前者の話です。中断はターンを止めて別のターンを始めますが、ステアリングは実行中のターンに追加します。Anthropic は Agent SDK のストリーミング入力を、順次処理されるキュー入りのメッセージであり、中断も選べるものとして文書化しています。それがここでの既定のランタイムであり、ほとんどのセッションではそれが適切です。Claude Code 自身のターミナルはもう一方を受け付けます。作業中に入力すると、その指示は進行中の作業に加わります。Unified はそのターミナルを操作するので、アプリはスマートフォンからそれを行えます。
どちらの場合も Claude Code のプロセスは一つです。統合モードでは、ターミナルとアプリの両方が同時に生きています。コンピューターの TUI で入力しながら、スマートフォンからそのセッションに応答することもでき、どちらかが締め出されることはありません。ここでの「統合」とはそういう意味です。一つのプロセス、一つのトランスクリプト、そこへ入力できる二つの場所です。
happier claudeRead, approve and answer Claude Code from any device
iOS と Android のアプリ、macOS・Windows・Linux 向けのデスクトップアプリ、そして app.happier.dev は、いずれもあなたのコンピュータで動いている Claude Code のプロセスへのクライアントであって、読み取り専用のミラーではありません。権限リクエストに答え、次の指示を送り、リポジトリを閲覧し、差分を読めます。トランスクリプトはコンピュータを離れる前にエンドツーエンドで暗号化されるので、それを運ぶサーバーが持つのは暗号文です。
Installing Claude Code the way Anthropic documents it
Happier はすでにリポジトリを持っているコンピュータにインストールされ、happier claude が、あなたの指定したディレクトリで、あなたがサインインしたままの状態で、Claude Code を通常のサブプロセスとしてそこで起動します。エージェントと Anthropic の間にゲートウェイはなく、ソースのコピーがどこか他の場所にあることもありません。
Happier は PATH 上の claude を探し、あなたがインストールしたものを実行します。Anthropic はこれをパッケージではなくインストールスクリプトで配布しています。Happier はそのコマンドを表示できますが、ベンダーのインストールスクリプトを自分で実行することはありません — ベンダーのレシピは、明示的に許可しない限り拒否されます。
Anthropic 自身のインストールとサインインのガイドは code.claude.com/docs/en/setup にあります。Happier はそれを複製しません。他社のインストール手順の写しは、古くなる写しだからです。
Happier 側の設定リファレンスは Happier ドキュメントの Claude Code です。
Claude Code をどのアカウントで動かすか
Claude Code は、そのコンピューターがログインしている先ではなく、一度つないだ認証情報に Happier が向けられるエージェントの 1 つです。a Claude subscription or an Anthropic API key を受け付けます。
接続済みサービスはエージェントではなく認証情報を鍵にしています。つまり同じ Claude subscription が、それを受け付けるどのエージェントでも、つないだすべてのコンピューターで選べます — 自分のアカウントのプールが複数台にまたがって役に立つのもこのためです。認証情報の暗号化と復号はあなた自身のデバイス上で行われます。プロファイルごとの規則は ドキュメントのページ にあります。どの種類のプロファイルを各エージェントが受け付けるかは、まさにリリースごとに動く類いの細部だからです。
One app for Claude Code and 12 other agents
Claude Code は Happier が動かす 13 のコマンドラインのコーディングエージェントの 1 つで、それらは 1 つのセッションリスト、1 つの権限の受信トレイ、1 組のキーボードショートカット、1 つの MCP 設定を共有します。
You define an MCP server once and Claude Code receives it as native MCP inventory, next to whatever MCP servers it already had of its own.
それが一番効くのは、複数を同時に動かしている日です。異なるベンダーのセッションが並び、通知をタップするとアプリの入口ではなく、そのリクエストを出したセッションが開きます。全リストはこちら。
The same Claude Code session in your terminal and in the app
ターミナルで happier claude と打てば、いま立っているその場所でセッションが始まり、同じセッションが同時にアプリの中にもあります。そのシェルで読むのは Claude Code のインターフェースではなく、Happier 自身によるセッションの表示 — トランスクリプト、権限の確認、ツールの出力 — です。携帯電話のクライアントを得るためにターミナルを手放す必要は、誰にもありません。
Claude Code 本来の TUI を使いたいときは、セッションを持っているコンピューター上で happier attach <session-id> を実行すると、履歴が入った状態の tmux の中で渡されます。既定のランタイムではこの受け渡しは排他的です。ターミナルがセッションを握っている間、アプリから送ったメッセージは目の前で勝手に入力されるのではなくキューで待ち、あなたが制御を返した時点で送られます。 統合ターミナルランタイムはもう一方の形です。共有ターミナルホスト上の Claude Code プロセスが 1 つあり、ターミナルからもアプリからも同時に書き込めます。
attach ガイドは、すべてを約束する代わりに、対応するケースを列挙しています。
Happier で Claude Code を動かすことについての質問
- 先に Claude Code をインストールしておく必要がありますか?
- はい。Happier はすでに PATH にある
claudeを実行し、そのコピーを何よりも優先します。Anthropic はインストールスクリプトで配布しています。Happier はそのコマンドを表示できますが、ベンダーのインストールスクリプトを自分で実行することはありません。ベンダーのレシピは、明示的に許可しない限り無効です。 - どの Anthropic アカウントに課金されますか?
- そのコンピューターで
claudeがサインインしているアカウントです。Happier は CLI をサブプロセスとして起動するだけで、CLI と Anthropic の間には入りません。そのため、サブスクリプションや API キーは、自分でclaudeを実行するときとまったく同じように使われます。 - 統合ターミナルランタイムはどうすれば有効にできますか?
- アプリ内の Claude Code プロバイダー設定です(設定 → プロバイダー → Claude Code →「統合ターミナルランタイムを使う」)。Agent SDK ランタイムが既定なので、自分で有効にするまではオフです。TUI を置くターミナルホストが必要で、tmux があればそれを、なければ Happier が同梱する zellij を使います。つまり現時点では macOS と Linux です。Windows では CLI が WSL2 を案内します。どちらの場合でも
happier attach <session-id>でターミナル上のそのセッションに戻れますし、その後スマートフォンを開いても二つ目のセッションが始まることはありません。 - Claude が作業している最中にメッセージを送るとどうなりますか?
- 既定のランタイムではキューに入るか中断するかで、どちらになるかはアプリが確定前に伝えます。統合ターミナルランタイムでは、メッセージは Claude Code 自身の入力欄にタイプされるので、進行中のターンに加われます。画面がそれを安全に行えない状態のとき — ダイアログが開いている、あるいは自分がターミナルで入力の途中である — には、Happier は上書きして入力せずに保留します。
- 自分の CLAUDE.md は引き続き適用されますか?
- Claude Code はこれまでと同じ作業ディレクトリからリポジトリを読むので、
CLAUDE.md、プロジェクト設定、フックはそのまま適用されます。Happier で一度定義した MCP サーバーは、Claude Code がすでに持っているものに加えて渡されます。 - Happier の料金はいくらですか?
- 無料です。CLI、モバイルアプリ、デスクトップアプリ、ウェブアプリ、リレーはいずれも MIT ライセンスで無償です。Claude Code の料金は、これまでどおり Anthropic に支払い続けます。
Get Claude Code onto your phone in two commands
コードを持っているコンピュータでコマンドを 1 つ、そのあと作業したいリポジトリで happier claude です。
curl -fsSL https://happier.dev/install | bash手順の解説はガイドにあります。すべて MIT ライセンスで、リレーは自分で動かせるものです。

