Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

fix: enforce lowercase-only workflow and SubAgentFlow names#416

Merged
breaking-brake merged 1 commit intomainbreaking-brake/cc-wf-studio:mainfrom
fix/415-enforce-lowercase-workflow-namesbreaking-brake/cc-wf-studio:fix/415-enforce-lowercase-workflow-namesCopy head branch name to clipboard
Jan 10, 2026
Merged

fix: enforce lowercase-only workflow and SubAgentFlow names#416
breaking-brake merged 1 commit intomainbreaking-brake/cc-wf-studio:mainfrom
fix/415-enforce-lowercase-workflow-namesbreaking-brake/cc-wf-studio:fix/415-enforce-lowercase-workflow-namesCopy head branch name to clipboard

Conversation

@breaking-brake
Copy link
Copy Markdown
Owner

Problem

When a workflow is exported as a command file (.claude/commands/*.md), the filename is derived from the workflow name. Due to case-insensitivity differences between operating systems, uppercase letters in workflow names cause issues:

Current Behavior

  1. User creates a workflow named General-worldflow-JP
  2. Export generates .claude/commands/general-worldflow-jp.md (lowercase)
  3. User tries to run /General-worldflow-JP
  4. ❌ Claude Code returns: Unknown skill: General-worldflow-JP

Additionally, on case-insensitive file systems (macOS/Windows), renaming from Test.md to test.md doesn't change the actual filename, causing Git synchronization issues across platforms.

Expected Behavior

  1. Workflow names only allow lowercase letters, numbers, hyphens, and underscores
  2. Validation error is shown when uppercase letters are entered
  3. ✅ Consistent behavior across all platforms

Fixes #415

Solution

Enforce lowercase-only validation for workflow and SubAgentFlow names at multiple levels:

Changes

Validation Rules (src/shared/types/workflow-definition.ts)

  • Added WORKFLOW.NAME_PATTERN: /^[a-z0-9_-]+$/
  • Updated SUB_AGENT_FLOW.NAME_PATTERN to lowercase only

Extension Host (src/extension/commands/save-workflow.ts)

  • Updated validation regex to enforce lowercase

UI Validation (src/webview/src/components/Toolbar.tsx)

  • Added real-time validation with error display
  • Validation on Save, Export, and Run handlers

SubAgentFlow Dialog (src/webview/src/components/dialogs/SubAgentFlowDialog.tsx)

  • Updated pattern to lowercase only

i18n (5 languages)

  • Added error messages for invalid workflow names

Impact

  • Breaking Change: Existing workflows with uppercase names will need to be renamed
  • Users notified in Awaiting feature #333 about this upcoming change
  • Cross-platform Git compatibility improved

Testing

  • Manual E2E testing completed
  • Code quality checks passed (npm run format && npm run lint && npm run check && npm run build)

🤖 Generated with Claude Code

- Add WORKFLOW.NAME_PATTERN and update SUB_AGENT_FLOW.NAME_PATTERN to lowercase only
- Add validation in save, export, and run handlers
- Add real-time UI validation with error display
- Add i18n error messages for 5 languages

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@breaking-brake breaking-brake force-pushed the fix/415-enforce-lowercase-workflow-names branch from b083e5c to 40d5968 Compare January 10, 2026 08:26
@breaking-brake breaking-brake merged commit ccc0cda into main Jan 10, 2026
3 checks passed
@breaking-brake breaking-brake deleted the fix/415-enforce-lowercase-workflow-names branch January 10, 2026 08:28
braking-brake-semantic-release Bot pushed a commit that referenced this pull request Jan 10, 2026
## [3.14.0](v3.13.1...v3.14.0) (2026-01-10)

### Features

* add context: fork option for Slash Command export ([#420](#420)) ([1d860eb](1d860eb))
* add model option to Slash Command export settings ([#421](#421)) ([b1adf52](b1adf52))

### Bug Fixes

* change contextFork boolean to context string for extensibility ([#422](#422)) ([732880a](732880a))
* disable SubAgentFlow submit button when name validation fails ([#417](#417)) ([#418](#418)) ([2edb07d](2edb07d))
* enforce lowercase-only workflow and SubAgentFlow names ([#415](#415)) ([#416](#416)) ([ccc0cda](ccc0cda))
@braking-brake-semantic-release
Copy link
Copy Markdown

🎉 This PR is included in version 3.14.0 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Workflow names with uppercase letters cause slash command invocation failure

1 participant

Morty Proxy This is a proxified and sanitized view of the page, visit original site.