Skip to content

feat(conversation): add :rename command to set custom conversation titles#2760

Merged
tusharmath merged 5 commits intoantinomyhq:mainfrom
tivris:feat/rename-conversation
Apr 1, 2026
Merged

feat(conversation): add :rename command to set custom conversation titles#2760
tusharmath merged 5 commits intoantinomyhq:mainfrom
tivris:feat/rename-conversation

Conversation

@tivris
Copy link
Copy Markdown
Contributor

@tivris tivris commented Apr 1, 2026

Summary

Adds the ability to rename conversations with a custom title, so they show up with meaningful names in /conversations instead of just UUIDs.

  • Interactive mode: /rename <name> (alias: /rn) renames the current conversation
  • CLI mode: forge conversation rename <id> <name> renames any conversation by ID
  • Leverages the existing title field in the conversation schema — no migrations needed
  • Input is trimmed and validated (empty names are rejected)

Closes #2759

Changes

File What changed
forge_api/src/api.rs Added rename_conversation to the API trait
forge_api/src/forge_api.rs Implemented via modify_conversation
forge_main/src/model.rs Added Rename(String) variant, /rename + /rn parsing, reserved command registration
forge_main/src/cli.rs Added Rename subcommand to ConversationCommand
forge_main/src/ui.rs Added dispatch + handler for both interactive and CLI paths
forge_main/src/built_in_commands.json Added command entry
forge_repo/src/conversation/conversation_repo.rs Added tests for title persistence

Test plan

  • All 7 new tests pass (cargo test --lib -p forge_main -- rename + cargo test --lib -p forge_repo -- rename)
  • All 1000+ existing tests still pass
  • cargo clippy clean on all changed crates
  • Parsing: /rename my-session, /rn auth-refactor, /rename auth refactor work (multi-word)
  • Error cases: /rename with no args returns helpful error
  • Whitespace trimming: /rename padded name padded name
  • Title persistence: rename via upsert, rename from None

@CLAassistant
Copy link
Copy Markdown

CLAassistant commented Apr 1, 2026

CLA assistant check
All committers have signed the CLA.

@tivris tivris force-pushed the feat/rename-conversation branch from e4feccf to 8137107 Compare April 1, 2026 07:40
@tivris tivris force-pushed the feat/rename-conversation branch from 8137107 to a59b909 Compare April 1, 2026 07:46
tivris added 2 commits April 1, 2026 10:49
…tles

Adds the ability to rename conversations via `/rename <name>` (alias: `/rn`)
in interactive mode, and `forge conversation rename <id> <name>` from the CLI.

Closes #2759
- :rename <name> — renames the current active conversation
- :conversation-rename — interactive fzf picker to select and rename
- :conversation-rename <id> <name> — rename a specific conversation by ID
@tivris tivris force-pushed the feat/rename-conversation branch from a59b909 to 43d82b2 Compare April 1, 2026 07:49
@tusharmath tusharmath changed the title feat(conversation): add /rename command to set custom conversation titles feat(conversation): add :rename command to set custom conversation titles Apr 1, 2026
@tusharmath tusharmath enabled auto-merge (squash) April 1, 2026 10:41
@tusharmath tusharmath merged commit 6ae207b into antinomyhq:main Apr 1, 2026
11 checks passed
@tusharmath tusharmath added the type: feature Brand new functionality, features, pages, workflows, endpoints, etc. label Apr 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

type: feature Brand new functionality, features, pages, workflows, endpoints, etc.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature]: Allow renaming conversation sessions to custom names

3 participants