Claude Codeと和食器
サマリ
以下をClaude Codeに作ってもらった。
- tmux session/window/paneをtmux popupから管理するtmux plugin
- gitリソースとtmuxリソースを紐づけて管理するCLIツール
- 上記のCLIツールの操作をtmux popupから行うtmux plugin
- 特定コマンドを実行しているtmux paneを1つのtmux windowに集約したり戻したりするCLIツール
背景
仕事でClaude Codeを使っている。自分だけかもしれないが、今話しかけたいClaude Codeがどのtmux windowにあるのかぱっとわからず、tmux windowを順番に切り替えて目当てのプロセスを探す場面が多く、とてもストレスを感じていた。
🍚Chawan (茶碗)
「もういっそのこと、tmuxのpopupからClaude Codeを動かしているtmux windowを直感的に探せないか?」と思ったのだが、 fzf-tmux や tmux-sessionx のような既存のtmux pluginは、自分の課題に完全にマッチしているように見えなかった。仕方ないので、Claude Code Maxを個人契約して自分で作り始めた。
chawanは、tmux popup上で簡単に session/window/pane の create/switch/rename/search/remove ができるtmux plugin。汎用的な作りにしつつ、右側にLive preview機能もつけたので目的のリソースを直感的に探しやすいだろうと思った。

🥢Hashi (箸) と 🍵Yunomi (湯呑)
Chawanを使い始めた当初は課題が解決できたかに見えたが、実際に使ってみると、根本的な課題が全く解決できていないことに気づいた。なぜなのか?
- 上のスクリーンショットを見てもらえればわかると思うのだが、tmux session/window/paneにまともな名前をつけていないため、fzfの良さが全く活かせてない。結局、全リソースから目当てのものをプレビューを見ながら探すことになる。
- gitのブランチ名などをtmux window名にすればいいのかもしれないが、そうしたい場面とそうでない場面がある。
- git worktreeを使った開発が基本となった現代において、それに加えてtmux session/window/paneのタイトルの管理まで考えるのはとてもだるい。
claude --tmux --worktree [name]とかを使ってもいいのだろうけど、tmux session開かれるよりtmux windowを開きたいし、claudeに依存せず、もすこし汎用的にやりたい。
そこで、「 1 tmux session = 1 git repo, 1 tmux window = 1 git branch = 1 git worktree で丸ごと紐付けて管理したらいいのではないか?」となった。
しかし、この複雑な状態管理をtmux pluginとしてすべてshell scriptで書くのは狂気…ということで、責務を分離して2つのツールを作ることにした。
🥢Hashi (箸)
hashiは、tmuxのsession/windowと、gitのrepo/branch/worktreeを紐づけて一元管理するCLIツール。git repoディレクトリ内で動作する。
hashi new hoge を実行すると、以下の流れで処理が進む。
- worktree + branch 作成
- tmux session/window 確保 (session がなければ session + window を同時作成、あれば window のみ作成)
hashi remove を実行すれば、上記と逆の処理を行う。サブコマンドとして switch, rename, list も実装した。
repo top に .hashi.yaml を配置すれば hashi new した時にgit worktreeにrepo topからファイルコピー&指定したコマンド実行もできる。
# Directory name for worktree placement worktree_dir: .worktrees hooks: # Files/directories to copy from repo root to new worktrees. # Non-existent entries are silently skipped. copy_files: - CLAUDE.md - .claude # Shell commands to run after worktree creation (executed sequentially). # Working directory is set to the new worktree path. post_new: - make all - claude
🍵Yunomi (湯呑)
yunomiは、ghq list の結果を情報源の出発点とし、git repo内で先述のhashiの一連のコマンドをChawanに近いインターフェース(tmux popup)で操作できるようにしたtmux plugin。
起動したら、ブランチ一覧が表示されてEnterで選択できる。

次はブランチ一覧が表示される。ここでtmux session/window, git branch/worktreeの一括操作ができる。

Obon (お盆)
ここまで読んだ方の中には、「複数のClaude Codeを1つのtmux windowから並行して操作したいんだよ…いちいちtmuxのsession/windowを切り替えたくないんだ…」と思った人がいるかもしれない。
自分も、上記のツール群を使っているうちに全く同じ気持ちになった。なにかしようとするたびに、yunomi経由でhashiの操作を行い、tmux window, git branch, git worktreeを一括で新規作成してClaude Codeを起動…という運用を繰り返した結果、「複数のtmux windowにちらばったclaudeコマンドを、なんとか1つのtmux window 内で全部やりたい」という気持ちになった。
そこで、hashiで作成したtmux paneを1つのwindowに集約・復元するCLIツールを作った。
obon join コマンドを実行すると、hashiによって作られた、特定のコマンド(export OBON_TARGET_CMD=claude のような設定が必要)が実行されているtmux pane を探してきて1つのtmux window 内に水平(横幅等分割)で並べる。

もちろん元のtmux window に戻したいこともあるはずなので、もとに戻すための obon break サブコマンドも用意した。
細かい話をすると、tmuxの仕様としてtmux window内で唯一のtmux paneを抜くとtmux windowが消え、同様にtmux session内で唯一のtmux windowを削除するとtmux sessionも消える。そのため、obon join によってpaneを集めた際に、もとあったtmux session/windowが消えることがある。obon break コマンドは、戻す先のtmux session/windowがなければ再作成するという方法を取っている。
感想
開発において生成AIを使わない選択肢はもはやないが、開発で生成AIを使う環境はまだまだ発展途上で、色々試すには学習コストが高い。実際、 workmux や cmux のようなツールを試してみたが、個人的にはどうもしっくりこなかった。
既存のツールを組み合わせるのも良いし、上記のように「自分の手に馴染む、ちょっと大きめのツール」をさくっと自作するのもいいかもしれない。なんか、そういう時代になった。
Chrome v145.0.7626.0でvertical tabを試す
背景
Chromiumでは去年から(?)縦型タブの機能が開発されていました。
hashtag:vertical-tabsがついたGerritのチケット一覧
これまでfeature flagは追加されているものの、chrome://flagsにflagが追加されていないため、一般ユーザがこの機能を試そうと思うとローカルビルドが必要な状況だったと思います。
今朝flag追加のコミットがマージされ、夕方リリースされたcanary v145.0.7626.0 でchrome://flagsから縦型タブを有効化できるようになったようです。
試してみる
canaryをインストールします。
$ brew install google-chrome@canary ==> Auto-updating Homebrew... ==> Auto-updated Homebrew! ...中略... ==> Downloading https://dl.google.com/chrome/mac/universal/canary/googlechromecanary.dmg ==> Installing Cask google-chrome@canary ==> Moving App 'Google Chrome Canary.app' to '/Applications/Google Chrome Canary.app' 🍺 google-chrome@canary was successfully installed!
chrome://version でバージョン番号が 145.0.7626.0 以上であることを確認します。

chrome://flags で vertical tab で検索し、Vertical tabsの Default を Enabled に変更して、Chromeを再起動します。

再起動後、タブバーで右クリックすると「タブを横に表示する」という項目があるのでクリックします。

標準機能で縦型タブになりました。

まだタブグループの並べ替えはできなさそうですが、タブグループも縦型タブの折りたたみもできそうです。


標準機能で縦型タブが使えるのはいいですね。Stable channelまで降りてくるのが待ち遠しいです。
2025年に買ってよかったもの
目次
はじめに
今年は、猫も杓子もAIという感じの年でした。もし個人でClaude Code を契約していたら、間違いなくこの記事のトップに書いていたと思いますが、残念ながら未契約のため今回はランク外です。
例年のごとく、物品の購入に限らずサブスクリプションや契約にお金を払ったものも対象に挙げます。
買ってよかったもの
財布
Pouch Wallet という小さい財布です。小さい財布は現金が取り出しにくいのですが、QRコード決済の利用も随分増えてきたので、それほど苦にならないだろうと思い、購入しました。
実際、現金を使う場面は通院と、コンビニで粗大ごみ券買うときくらいになってきたので、財布が小さくても全く困っていません。
葬送のフリーレン
今年はフリーレンを履修しました。魔王を倒したあとから物語が始まるという事前情報はあまり魅力的には写っていなかったんですが、読み始めてみたら全巻読んでました。
来年はアニメ二期があり、黄金郷もやるはずなのでとても楽しみです。
歯科矯正
これまで「歯並びの悪さ」と「就寝中の歯ぎしり・食いしばり」を原因として、特定の奥歯だけすり減ってきていました。
後々はインプラントなども検討しないといけないと思うのですが、インプラントにすると歯の位置を動かせなくなってしまい、根本原因の1つである「歯並びの悪さ」を解決することが不可能になってしまうため、重い腰を上げてワイヤー矯正を始めました。
1ヶ月に1度ワイヤーを変更していただいているのですが、2回目でもかみ合わせが変わってきたという実感があり、今後の変化も楽しみです。
アレジオン
毎年、1月から3月頃は処方薬を飲んでいても花粉症がひどいのですが、今年は毎日アレジオンを飲むことで(物心ついてから初めて?)花粉症症状のない春でした。
アレジオンは眠気も伴わないので、副作用としての眠気を敬遠する方にも、選択肢の一つになるかもしれません。
デエビゴ2.5mg
20代の頃仕事が忙しい時期があり、毎日午前3時頃にタクシー帰りしていたら、睡眠リズムが結構崩れました。
一方その頃の睡眠導入剤には、依存性や服用しているうちに効きづらくなるなどのデメリットがあり敬遠していたのですが、今年お医者さんの勧めでデエビゴを服用し始めました。
デエビゴはその特徴から先に挙げたようなデメリットもなく、本当に普通に入眠できます。
一方デエビゴのデメリットとしては、上記のリンクに記載されているもの以外にも以下のようなものがあります。
- 服用前後で飲酒してはいけない(効き目が変わるため)
- 胃の中に食べ物がある状態だと、効果がでるまでの時間が変わる
個人的には「自然に入眠できる」という絶大なメリットの前には、このようなデメリットは全くデメリットではないと考えています。入眠しづらい方・従来の睡眠導入剤に抵抗がある方には、選択肢の一つになるかもしれません。
おわりに
色々挙げましたが、来年も楽しみな物事があります。
来年の買ってよかったものにこれらが挙げられるといいなぁと思っています。期待する未来の物事は多ければ多いほどよいですね。
それでは、良いお年を🎍
2025/02 進捗
毎日プログラミング
数学系からMaximum flowまで

課題
- いつやるか問題(毎日22時頃にはすでに眠く、早朝やろうにもワイが目覚ましで起きる頃には家族全員起きてしまう)
- 数学系全般、Maximum flow(Ford-Fulkerson法)
毎日試験勉強

課題
- 法律まわりの勘所理解
毎日読書
仕事に直接関係のない本で読んでるor読んだやつ
- [読了] マスタリングTCP/IP 入門編
- [読了] はじめて読む486
- [進捗18%] CPUの創り方
- 書き方との相性が悪すぎて中断
- [進捗19%] 達人プログラマ

課題
- CPUの創り方を中断してしまったので、今後何を読むか
毎日原神任務

課題
- 育成アイテムが任務報酬になかなか出ない
2025/01 進捗
毎日プログラミング
二分探索からDPあたりまで

課題
毎日試験勉強
- 1月はGoogle CloudのProfessional Cloud Developer のExam
- 2月は数日休んで別の試験勉強の予定

課題
- IAP, Workload Identifyあたりに対する理解
- 合格できたので課題感は一旦置いといてもよさそう
毎日読書
仕事に直接関係のない本で読んでるor読んだやつ
- [読了] 小さな習慣
- [進捗83%] マスタリングTCP/IP 入門編

課題
- 大きな課題感特になし、割愛
毎日原神任務
- 年始で始めて2年目
- 今やってる育成は2月で大方終わらせて、3月はストーリー進めたい

課題
- 大きな課題感特になし、割愛
2024年に買ってよかったもの
目次
はじめに
今年は豊作だったのでブログが書きやすかったというのもあるんですが、何かを買って使ってみたことでInsightも沢山あった年でした。例年のごとく、物品の購入に限らずサブスクリプションや契約にお金を払ったものも対象に書きます。
買ってよかったもの4点
ナイトガード(ハンドガード?)
就寝時用の手袋です。ここ数年冬場の手荒れがひどく、手の甲のシワから出血してくることもあり、重い腰を上げて皮膚科に行ってみました。お医者さんからはステロイドの軟膏を処方していただいたんですが、診察後に看護師さんに「寝る前に保湿クリームとステロイド軟膏を塗って、綿の手袋をつけて寝るといいですよ」とアドバイスいただき、買ったのが以下です。
アドバイス通り、夜寝る前に保湿クリームとステロイド軟膏を手の甲に厚めに塗り、この手袋をして寝たとき。翌朝までこれらのクリームが乾くことになく手の甲に残っていて、あっという間に手荒れなくなりました。
医療脱毛
ヒゲ剃り時間を削減しながら、カミソリ負けによる出血リスクから解放されたかったので、今年はヒゲの医療脱毛を始めました。具体的にやっている内容は以下です。
- 2〜3ヶ月に一回、医療脱毛に通う
- 医院に行ったら、まず脱毛する部位に麻酔クリーム(3000円くらい)を塗り、麻酔が効くまで1時間待つ
- その後脱毛施術約30分(麻酔クリームを塗った状態でも痛みあり)
- 上記をn回繰り返す(nは本人の脱毛状況に対する満足度によって決まる)
自分は現在3回目の脱毛が終わったところですが、かなり効果が実感できています。
- ヒゲが伸びる速度が回数を重ねるごとに遅くなっている
- ヒゲの太さが回数を重ねるごとに細くなっている
- 以上から皮膚下のヒゲ(もしくはヒゲの毛根)が視認しづらくなった(=青ヒゲ状態ではなくなった)
- 同時にヒゲ剃り頻度が低くなってきた
費用は脱毛15回の契約で約15万円でした。回数を重ねて脱毛状況に満足した場合など、途中解約で返金があります。
Yohana
月額10,000円のファミリー向けコンシェルジュサービスです。
冬の献立、旅行スケジュール、子供向けのクリスマスプレゼントなどの提案を依頼したら、1日〜3日程度で提案を作成してくれます。「それ、AIでもいいんじゃないの?」と思うかもしれないですが、現状のAIだと手が届かないところまでなんとかしてくれる印象があります。
例えば、浴室の水栓の水漏れ修理業者の提案を依頼したら、水栓の写メからメーカーを割り出した上で修理業者を提案してくれて「すげー!!」となりました。どうやって月額1万円でマネタイズできているのかわからないですが、クオリティが高いです。
カウンセリング
この記事の趣旨から外れてしまうので背景情報をほぼSkipするのですが、今年は「自分がどういう人間なのか知りたい」と思っており、12月に仕事を休んで3時間程度プロ(?)のカウンセリングに行ってみました。正直「たった数時間の対話や検査で、人の性格がわかるものなのか??」とかなり懐疑的な気持ちだったんですが、とてもクオリティの高いフィードバックをいただきました。
もう少し具体的(?)に書くと、何かしらの事物に対して自分が抱く感情がどのような理由によって生まれるのかがわかったという感じでしょうか。
費用はカウンセリング3時間で約4万円くらいでした。一般的なカウンセリングより高いと思うのですがリターンに対する価格としてはとても安かった印象です。
2021年に買ってよかったもの
はじめに
今年も書籍を始め、様々なものを購入しました。購入した主な商品としては、リモートワーク用のものや、おうち時間を楽しむためのものなどがありました。どれを紹介するか迷いましたが、新しい発見や体験があったものを紹介したいと思います。
買ってよかったもの3点
親子がま口財布
最初は財布です。突然ですが、筆者が財布に求める条件は大体以下の通りです。
- ジーンズのポケットに入るサイズであること
- 小銭、紙幣、カード類を入れることができ、取り出しやすいこと
- 水に強く、軽いこと(水に弱い革製や、重い金属製ではないこと)
これらの条件それぞれについて理由を説明します。1つ目は、例えば近所に買い物に出かける際にわざわざ手に財布を持って出かけることが面倒だからです。2つ目は、病院や郵便局、自治体窓口など現金払いにしか対応していない場所があり、現金が必要になる場面が未だに存在するからです。3つ目は、ジーンズのポケットに入れることを想定すると、雨や汗に弱い革製は避けたいですし、重い金属製は嫌です。
「(いわゆる)薄い財布や小さい財布なら、これらの条件を満たすのではないか?」と思われる方がいらっしゃるかもしれません。筆者もそう思ったことはあったのですが、色々試した結果、薄すぎて(小さすぎて)、2つ目の「取り出しやすさ」が今ひとつなのではないかと感じました。特に、筆者は狭い収納ポケットから小銭をパッと出せるほど器用な方ではありません。
そんな折、ネットでがま口財布を見かけました。最初は全く興味がなかったのでスルーしそうになりましたが、上記の条件全てを満たすのではないか?と思い始め、購入しました。(そして実際条件を全て満たしました)
親子がま口とは、がま口の中に更にがま口がある構造のことのようで、筆者は内側のがま口を小銭入れとして使っています。開口部が広いため、がま口を開いた際の内容物の一覧性が高く、取り出しやすい点が素晴らしいです。
Kindle Paperwhite(11世代)
今秋、新しいKindle Paperwhiteが発売されました。画面の応答速度が上がり、画面サイズが大きくなり、MicroUSBからUSB-Cになったようです。

一番嬉しかったことは、ハイライトの速度が向上したことです。筆者は今年「知的戦闘力を高める 独学の技法」に基づいて「重要だと思った箇所を保存(ハイライト)しながら本を読む」ことを実践してきました。Kindleで「文字列を指でなぞる事で簡単にハイライトできる」機能は非常に便利なのですが、Kindle Paperwhiteの前世代モデルだとハイライトする際の画面の応答速度がかなり遅いと感じていました。かといってiPadで電子書籍を読むにはその重さにフラストレーションを感じることは明らかでした。このモデルでは、ハイライトの速度が上がったことで「固定幅以外の電子書籍は、軽いKindleで読む」という方針が確立できました。
一方、これだけ様々な機能が改善されると、目立ってくるのは重さです。分厚い物理書籍を読むよりもKindleで読んだ方が腕は楽ですが、200g以上のKindleを片手に1、2時間電子書籍を読むというのも大変です。現状の価格帯で、より軽い次世代モデルを発売してほしいと思っています。
Magic Keyboard(iPad用)
今年はMagic Keyboardも購入しました。

- 雑多なネットサーフィン
- メールの作成や返信
- カレンダーの予定作成や編集
これらをiPadで行うようになった理由はMagic KeyboardのキータッチやトラックパッドがMacに近いものであり、上記のような作業をiPadでもやりやすかったからです。 Macと比較して小さくて軽いiPad Pro+Magic Keyboardでサッと作業できることで、作業自体のハードルも下がったような気になりました。(このブログ記事の下書きもiPad Pro+Magic Keyboardで書いています)
おわりに
今年も購入したものによる体験で、生活が少し変わりました。こういった少しの変化を毎年積み重ねたいと思っていますし、購入したものによって生活が変化しなかったとしても、新しい気づきがあればいいなと思っています。来年も宜しくお願い致します。





