
Claude Coworkを作業中のディレクトリからシュッと起動する
ターミナルやファイルマネージャーを開いているときに、カレントディレクトリから Coworkを起動させる方法をMacユーザー向けに紹介します。

Claude DesktopはリンクからCoworkを起動できる
Claude Desktopは、Webページで使う https:// と同じように、claude:// から始まる専用のURLを扱えます。
Coworkを新しく開くURLは次の形式です。
claude://cowork/new
さらに folder パラメーターを付けると、指定したフォルダをCoworkに添付できます。
claude://cowork/new?folder=%2FUsers%2Fme%2Fdocs
claude://cowork/new?q=Draft%20the%20Q2%20update&folder=%2FUsers%2Fme%2Fdocs&file=%2FUsers%2Fme%2Fdocs%2Fnotes.md
ブラウザからこれらURLをコピペしてみると、実際の動作を確認できます。
この仕組みを使ってmacOS上でターミナルからとFinderからでCoworkを起動してみます。
ターミナルからCoworkを起動する
.zshrc 等に cowork 関数を登録するだけです。
cowork() {
local dir=${1:-.}
[[ -d $dir ]] || {
print -u2 -- "cowork: not a directory: $dir"
return 1
}
dir=${dir:a}
local encoded=$(/usr/bin/osascript -l JavaScript -e \
'function run(a){return encodeURIComponent(a[0])}' "$dir") \
|| return 1
/usr/bin/open "claude://cowork/new?folder=$encoded"
}
ターミナルから、 $ type -f cowork と入力して、関数が正しく登録されていることを確認してください。
確認後、$ cowork と Coworkを呼び出します。
作業ディレクトリは、引数がなければカレントディレクトリ、フォルダを指定すればそのディレクトリとなります。
$ cowork
$ cowork doc-dir

Automatorのクイックアクションを作成
Automatorを起動し、「クイックアクション」を選択します。

クイックアクションの設定画面で以下の赤枠内を設定します

- 「ワークフローが受け取る現在の項目」:
フォルダ - 「検索対象」:
Finder
続いて、「ライブラリ」のアクション一覧から「シェルスクリプトを実行(Run Shell Script)」を追加し、次のように設定します。
- シェル:
/bin/zsh - 入力の引き渡し方法:
引数として
スクリプト欄には以下を入力します。
query=$(/usr/bin/osascript -l JavaScript -e 'function run(a){return a.map(p=>"folder="+encodeURIComponent(p)).join("&")}' "$@") || exit 1
/usr/bin/open "claude://cowork/new?$query"
最後に「Coworkで開く」という名前をつけて保存します。
スクリプトの中でやっていること
どちらのスクリプトも、やっていることは以下の2つだけです。
- フォルダのパスをURLエンコードする
claude://のURLを組み立ててopenに渡す
エンコードはmacOS標準の osascript に任せ、URLを開くところはmacOSのLaunch Servicesに任せています。
違うのはパスの受け取り方です。zsh版は引数を1つ受け取って絶対パスに直す必要があり、Automator版はFinderから絶対パスが複数渡ってきます。
osascript を使ったURLエンコード処理
Claude Coworkが利用するフォルダやファイルはフルパス指定でURLエンコードする必要があります。
たとえば / は %2F、半角スペースは %20 に変換します。osascript -l JavaScript はJXA(JavaScript for Automation)としてスクリプトを実行するオプションです。
$ /usr/bin/osascript -l JavaScript \
-e 'encodeURIComponent("/hoo/bar hoge")'
%2Fhoo%2Fbar%20hoge
エンコード自体はPython(urllib.parse.quote(s, safe=''))やjqでも書けるので、環境に応じて使い分けでください。








