This document describes a Typinator shortcut that allows you to quickly navigate to one of your three main project repositories and immediately launch either Claude or Codex with optional permissions flags.
Shortcut Trigger: ;cda
- Open Typinator
- Create a new expansion with:
- Abbreviation:
;cda - Expansion: See Expansion Code below
- Abbreviation:
- Save the expansion
- Type
;cdaanywhere - First menu appears: Select your repository
419→ Python419Claude Skill Eval→ Claude Skill EvalClaude Skills→ Claude Skills
- Press Tab to move to second menu
- Second menu appears: Select your AI tool variant
claude --dangerously-skip-permissions→ Claude with permissions flagclaude→ Claude without flagscodex→ Codex
- Press Return to execute
;cda
cd {{?Repositories(419:/Users/anthonybyrnes/PycharmProjects/Python419|Claude Skill Eval:/Users/anthonybyrnes/PycharmProjects/Claude Skill Eval|Claude Skills:/Users/anthonybyrnes/PycharmProjects/Claude Skills)<419>}} && {{?AI(claude --dangerously-skip-permissions|claude|codex)<claude>}}{return}
{{?- Start of Typinator input fieldFieldName- Label shown above the dropdown(options)- Comma-separated alternativesdisplay:value- Display text in menu, but insert different value<default>- Default option highlighted when menu appears}}- End of field
{{?Repositories(419:/Users/anthonybyrnes/PycharmProjects/Python419|Claude Skill Eval:/Users/anthonybyrnes/PycharmProjects/Claude Skill Eval|Claude Skills:/Users/anthonybyrnes/PycharmProjects/Claude Skills)<419>}}
- Display names:
419,Claude Skill Eval,Claude Skills - Actual paths: Full filesystem paths
- Default:
419(Python419) - Separator:
|(pipe character)
{{?AI(claude --dangerously-skip-permissions|claude|codex)<claude>}}
- Options: Three command variants
- Default:
claude(without flags) - No display:value mapping - Display and insert text are the same
{return}
- Executes the full command:
cd [repo] && [ai_tool]
✅ Two sequential menus - Tab between repository and AI tool selection
✅ Default values - Python419 and Claude pre-selected
✅ Extended text results - Show friendly names, insert full paths
✅ Permissions flexibility - Choose with or without --dangerously-skip-permissions
✅ Keyboard navigation - Tab to move between menus, Return to execute
To add additional repositories, edit the first menu:
{{?Repositories(
419:/Users/anthonybyrnes/PycharmProjects/Python419|
Claude Skill Eval:/Users/anthonybyrnes/PycharmProjects/Claude Skill Eval|
Claude Skills:/Users/anthonybyrnes/PycharmProjects/Claude Skills|
NewRepo:/Users/anthonybyrnes/PycharmProjects/NewRepo
)<419>}}
Format: DisplayName:/full/path/to/repo
To add additional command variants to the second menu:
{{?AI(
claude --dangerously-skip-permissions|
claude|
codex|
custom-command --with-flags
)<claude>}}
Issue: You see text boxes instead of dropdown menus
Solution: Ensure you're using the correct syntax with parentheses () and pipes |, not curly braces {}
Issue: The expansion only outputs cd without the selected repository path
Solution: Verify the display:value format is correct (colon : separates display from actual value)
Issue: Menu doesn't show a default selection
Solution: Check that the default value (e.g., <419>) matches one of your display names exactly
Issue: Can't tab to the second menu
Solution: Both fields must be properly formatted with {{?...}} syntax. Verify no syntax errors in the expansion.