( claudePath?: string, )
| 213 | * After registration, clicking a `claude-cli://` link will invoke claude. |
| 214 | */ |
| 215 | export async function registerProtocolHandler( |
| 216 | claudePath?: string, |
| 217 | ): Promise<void> { |
| 218 | const resolved = claudePath ?? (await resolveClaudePath()) |
| 219 | |
| 220 | switch (process.platform) { |
| 221 | case 'darwin': |
| 222 | await registerMacos(resolved) |
| 223 | break |
| 224 | case 'linux': |
| 225 | await registerLinux(resolved) |
| 226 | break |
| 227 | case 'win32': |
| 228 | await registerWindows(resolved) |
| 229 | break |
| 230 | default: |
| 231 | throw new Error(`Unsupported platform: ${process.platform}`) |
| 232 | } |
| 233 | } |
| 234 | |
| 235 | /** |
| 236 | * Resolve the claude binary path for protocol registration. Prefers the |
no test coverage detected