codemap_group_remove_member

Remove one or more members from a code group. Returns updated member count.

groupsremovemember

Parameters

NameTypeRequiredDescription
namestring✅ RequiredGroup name
membersarray✅ RequiredArray of file paths or symbol references to remove from the group

Usage Examples

MCP Usage (for AI Agents like Claude)

json
{
  "name": "codemap_group_remove_member",
  "arguments": {
    "name": "deprecated-code",
    "members": ["src/legacy/old-api.ts"]
  }
}

Example Output

JSON Response

json
{
  "success": true,
  "message": "Removed 2 member(s) from group \"auth-system\"",
  "group": {
    "name": "auth-system",
    "description": "Authentication and authorization module",
    "previousMemberCount": 7,
    "currentMemberCount": 5,
    "removedMembers": [
      "src/auth/legacy-login.ts",
      "src/auth/deprecated-jwt.ts"
    ]
  }
}
ℹ️When to Use This Tool
    Use codemap_group_remove_member when you need to:
  • Remove files that no longer belong to a group
  • Clean up groups after refactoring or file deletion
  • Remove deprecated or legacy files from active groups
  • Refine group membership as understanding evolves
  • Maintain group accuracy when files are moved or renamed
  • Remove specific symbols when code is refactored
💡Common Patterns
Post-Refactor Cleanup
After moving files, update groups:
1. Files moved from src/auth to src/security
2. Remove old paths: codemap_group_remove_member({
name: "auth-system",
members: ["src/auth/oauth.ts", "src/auth/jwt.ts"]
})
3. Add new paths via codemap_group_add


Deprecation Workflow
Remove deprecated code from active groups:
1. Mark files as deprecated
2. Remove from groups: codemap_group_remove_member({
name: "api-layer",
members: ["src/api/v1/deprecated-endpoints.ts"]
})
3. Add to deprecated group if needed


Symbol-Level Refinement
Remove specific functions from group:
codemap_group_remove_member({
name: "validation-functions",
members: [
"src/utils/validators.ts$legacyEmailValidator",
"src/utils/validators.ts$deprecatedPhoneValidator"
]
})
💡Pro Tips
  • Batch removal is efficient: Remove multiple members in one call rather than looping
  • Returns updated counts: Response shows previous and current member counts for verification
  • Non-existent members are skipped: Removing members that don't exist won't error - tool is lenient
  • Preserves notations: Removing members doesn't affect group notations or history
  • Use with group search: First search to see current members, then remove unwanted ones
Best Practices
  • Review current group members (via codemap_group_search) before removing
  • Remove members in batches rather than individual calls for better performance
  • Document why members are removed (add notation explaining the change)
  • Update groups immediately after file refactoring or deletion
  • Verify member counts in response to ensure correct removal
  • Consider if removed files should be added to different groups
⚠️Common Mistakes
Mistake: Removing members from non-existent group
codemap_group_remove_member({ 
name: "api-v3", // Group doesn't exist
members: ["src/api/routes.ts"]
})
// Error: Group "api-v3" not found

Instead: Verify group exists first
const groups = await codemap_group_list();
if (groups.groups.some(g => g.name === "api-v3")) {
codemap_group_remove_member({ name: "api-v3", members: [...] })
}


---

Mistake: Removing all members leaves empty group
const group = await codemap_group_search({ name: "utils" });
// Remove all 5 members
codemap_group_remove_member({
name: "utils",
members: group.data.group.members.map(m => m.path)
})
// Now group exists but has 0 members

Instead: Delete empty groups or leave at least one member
// Option 1: Delete the group instead
codemap_group_delete({ name: "utils" })

// Option 2: Keep some members
codemap_group_remove_member({
name: "utils",
members: ["src/utils/legacy.ts", "src/utils/deprecated.ts"]
// Keep other members
})


---

Mistake: Forgetting to update after file moves
// Move file from src/auth/login.ts to src/security/login.ts
// But forget to update groups
// Now group has path that doesn't exist

Instead: Update groups immediately after moves
// After moving file
codemap_group_remove_member({
name: "auth-system",
members: ["src/auth/login.ts"]
})
codemap_group_add({
name: "auth-system",
members: ["src/security/login.ts"] // Updated with members, adds to existing
})


---

Mistake: Removing members one at a time in a loop
for (const file of deprecatedFiles) {
await codemap_group_remove_member({
name: "api",
members: [file]
}) // Multiple API calls
}

Instead: Batch remove in single call
codemap_group_remove_member({ 
name: "api",
members: deprecatedFiles // Single API call
})


---

Mistake: Not documenting why members were removed
codemap_group_remove_member({ 
name: "api-layer",
members: ["src/api/old-routes.ts"]
})
// Future developers won't know why

Instead: Add notation explaining the change
codemap_group_remove_member({ 
name: "api-layer",
members: ["src/api/old-routes.ts"]
})
codemap_group_notate({
name: "api-layer",
text: "Removed old-routes.ts - migrated to new routing system in v2/"
})