From f9ec78ce1e6806ecd4736292ff2397bdd52ce269 Mon Sep 17 00:00:00 2001 From: DexterFromLab Date: Fri, 6 Mar 2026 11:20:23 +0100 Subject: [PATCH] Remove shared context from ctx get output to avoid misleading project info Shared entries (server, webhooks, workflow) were shown for every project, causing Claude to misattribute them. Now ctx get shows only project-specific data. Use --shared flag to include shared context when needed. Co-Authored-By: Claude Opus 4.6 --- ctx | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/ctx b/ctx index 315964b..a089e76 100755 --- a/ctx +++ b/ctx @@ -103,19 +103,18 @@ def cmd_init(args): def cmd_get(args): - """Get full context for a project (shared + project-specific + recent summaries).""" + """Get full context for a project (project-specific + recent summaries). + Use --shared flag to also include shared context.""" if len(args) < 1: - print("Usage: ctx get ") + print("Usage: ctx get [--shared]") sys.exit(1) project = args[0] + show_shared = "--shared" in args db = get_db() # Session info session = db.execute("SELECT * FROM sessions WHERE name = ?", (project,)).fetchone() - # Shared context - shared = db.execute("SELECT key, value FROM shared ORDER BY key").fetchall() - # Project context contexts = db.execute( "SELECT key, value FROM contexts WHERE project = ? ORDER BY key", (project,) @@ -137,11 +136,13 @@ def cmd_get(args): print(f"PROJECT: {project} (not registered, use: ctx init)") print("=" * 60) - if shared: - print("\n--- Shared Context ---") - for row in shared: - print(f"\n[{row['key']}]") - print(row["value"]) + if show_shared: + shared = db.execute("SELECT key, value FROM shared ORDER BY key").fetchall() + if shared: + print("\n--- Shared Context ---") + for row in shared: + print(f"\n[{row['key']}]") + print(row["value"]) if contexts: print(f"\n--- {project} Context ---") @@ -155,8 +156,8 @@ def cmd_get(args): print(f"\n[{row['created_at']}]") print(row["summary"]) - if not shared and not contexts and not summaries: - print("\nNo context stored yet. Use 'ctx set' or 'ctx shared set' to add.") + if not contexts and not summaries: + print("\nNo context stored yet. Use 'ctx set' to add project context.") db.close() @@ -444,7 +445,7 @@ def print_help(): print("ctx — Cross-session context manager for Claude Code\n") print("Commands:") print(" init [dir] Register a new project") - print(" get Load full context (shared + project)") + print(" get [--shared] Load project context (optionally with shared)") print(" set Set project context entry") print(" append Append to existing entry") print(" shared get|set|delete Manage shared context")