Skip to content

Show display_name instead of UUID for private projects in CLI#718

Open
jope-bm wants to merge 3 commits intomainfrom
fix-cli-project-list-display-name
Open

Show display_name instead of UUID for private projects in CLI#718
jope-bm wants to merge 3 commits intomainfrom
fix-cli-project-list-display-name

Conversation

@jope-bm
Copy link
Copy Markdown
Contributor

@jope-bm jope-bm commented Apr 4, 2026

Summary

In team workspaces, bm project list showed the raw UUID for private projects (e.g., f1df8f39-d5aa-4095-ae05-8c5a2883029a) instead of the human-readable display name ("My Project").

The cloud API already injects display_name into the project list response via filter_project_list_response(), but the CLI table rendering ignored it.

Fix

Use cloud_project.display_name when available, with fallback to the raw project name:

display_name = cloud_project.display_name if cloud_project and cloud_project.display_name else None
row_data = {
    "name": display_name or project_name,
    ...
}

Related

  • basicmachines-co/basic-memory-cloud#516

Test plan

  • ruff check + pyright pass
  • Run bm project list --cloud --workspace <team-workspace-id> and verify private project shows "My Project"

🤖 Generated with Claude Code

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 35db52650e

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

)
row_data = {
"name": project_name,
"name": display_name or project_name,
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Preserve canonical project identifier in list output

Replacing row_data["name"] with display_name makes bm project list --json emit a human label instead of the canonical identifier for private cloud projects, but other project commands still resolve by canonical name/permalink (src/basic_memory/cli/commands/project.py lines 480-482 and 568-570 call generate_permalink(name) before resolve; src/basic_memory/api/v2/routers/project_router.py lines 250-269 match against stored project.name). For UUID-backed private projects, piping .projects[].name from list output into project info/remove/default can no longer resolve the project. This should keep name canonical and expose display_name separately (or limit display substitution to the Rich table only).

Useful? React with 👍 / 👎.

jope-bm and others added 2 commits April 4, 2026 09:25
The `bm project list` table rendered the raw project name, which is
a UUID for private projects in team workspaces. Now uses display_name
from the cloud response (e.g., "My Project") with fallback to name.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Joe P <joe@basicmemory.com>
Verifies that private projects with display_name show "My Project"
in the Name column instead of the raw UUID.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Joe P <joe@basicmemory.com>
@jope-bm jope-bm force-pushed the fix-cli-project-list-display-name branch from a83f0e2 to c090ebe Compare April 4, 2026 15:25
The cloud proxy route for project list filtering is registered at
/v2/projects (no trailing slash). Requests to /v2/projects/ were
falling through to the catch-all route, bypassing private project
filtering and display_name enrichment.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Joe P <joe@basicmemory.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant