Skip to content

[Bug] Mode Switching Not Working in Mission Mode #985

@harrypham2000

Description

@harrypham2000

name: Bug report
about: Create a report to help us improve
title: '[Bug] Mode Switching Not Working in Mission Mode'
labels: bug
assignees: ''
Bug Report ID: d460c9f9-b831-4ce4-9671-921ced7e2e7f

Summary

Once entering Mission mode (/enter-mission), users cannot switch to Spec mode or Normal mode. Neither the keyboard shortcut (Shift+Tab) nor slash commands work to change the interaction mode. Users are locked into AGI mode with no way to switch.

Environment

  • Terminal: Ghostty (macOS/iOS terminal emulator)
  • OS: Fedora Workstation 43
  • Factory CLI Version: latest (auto-updated)
  • Session Type: Mission mode (orchestrator role)
  • Installation: Direct binary from factory.ai

Steps to Reproduce

  1. Start a new Factory session: factory
  2. Enter Mission mode by typing /missions
  3. Try to switch modes using any of these methods:
    • Pressing Shift+Tab (documented shortcut)
    • Typing /mode auto
    • Typing /mode spec
    • Typing /spec or /auto
    • Pressing Tab to cycle reasoning levels
  4. Observe: None of these methods work to change the mode

Expected Behavior

  • Shift+Tab should toggle between Auto and Spec modes (as shown in help dialog)
  • Slash commands like /mode auto, /mode spec should be available
  • Users should be able to exit Mission mode and return to normal interaction
  • At minimum, /exit-mission should gracefully exit the Mission mode

Actual Behavior

  • Shift+Tab does nothing in Mission mode
  • No slash commands exist for mode switching
  • No documented way to exit Mission mode without ending the entire session (/quit)
  • Users are locked into AGI interaction mode with interactionMode: "agi" and autonomyMode: "auto-high"
  • The system shows "mission-session" tag with role "orchestrator" but provides no way to change modes

Session Configuration in Mission Mode

{
  "model": "custom:Crof/Kimi-K2.5-0",
  "reasoningEffort": "none",
  "interactionMode": "agi",
  "autonomyLevel": "high",
  "autonomyMode": "auto-high",
  "specModeModel": "custom:Syn/GLM-5.1-0",
  "specModeReasoningEffort": "none",
  "tags": [
    {
      "name": "mission-session",
      "metadata": {
        "role": "orchestrator",
        "missionId": "e5b7bc03-a364-4f91-b7ac-0cbfb103969b"
      }
    }
  ],
  "providerLock": "generic-chat-completion-api"
}

Notice: specModeModel is configured (custom:Syn/GLM-5.1-0) but there's no way to activate it!

Help Dialog Reference

The in-app help shows mode switching should work:

╭──────────────────────────────────────────────────────╮
│  Shortcuts                                           │
│  Change modes (Auto/Spec)                Shift + Tab │
╰──────────────────────────────────────────────────────╯

But this shortcut does not function in Mission mode.

Impact (High Severity)

  • Blocked Workflow: Cannot use Specification mode for careful planning within Mission mode
  • Security Concern: Cannot reduce autonomy level for sensitive tasks in Mission
  • No Exit Path: No graceful way to "pause" Mission and return to normal mode
  • Context Loss: Forces users to quit entirely (/quit) and restart with different flags, losing all session context
  • Poor UX: Help dialog shows a shortcut that doesn't work, misleading users

Workarounds Attempted

  1. /quit - Exits entire session (loses all context - not viable)
  2. factory --use-spec - Requires starting fresh, loses context
  3. Esc key - Only toggles Bash mode, not interaction mode
  4. Ctrl+L - Cycles autonomy levels but NOT mode (Auto/Spec)
  5. Tab key - Cycles reasoning effort, not mode

Suggested Fixes (Priority Order)

  1. Enable Shift+Tab in Mission mode - Make the documented shortcut work
  2. Add slash commands:
    • /mode auto - Switch to Auto mode
    • /mode spec - Switch to Spec mode
    • /exit-mission - Exit Mission mode gracefully while keeping session
  3. Add Mission mode toggle in Ctrl+L menu - Allow switching modes from the autonomy selector
  4. Show current mode in status line - So users know what mode they're in

Additional Context

  • This appears to be a missing feature in Mission mode implementation
  • The help dialog incorrectly suggests Shift+Tab works in all contexts
  • Documentation at https://docs.factory.ai/reference/cli-reference does not list mode switching slash commands
  • Mission mode is described as "research preview" but this is a critical UX gap
  • The specModeModel is configured but never accessible to users in Mission mode

Related Issues

  • Mode switching works in non-Mission sessions (Auto/Spec toggle via Shift+Tab)
  • Mission mode is the only mode where this is broken
  • This blocks the intended workflow of using Spec mode for planning within a Mission

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions