# Claude Code : Fonctionnalités globales vs au niveau projet
Une comparaison complète des fonctionnalités de Claude Code qui sont exclusivement globales (`~/.claude/`) par rapport à celles qui ont à la fois un équivalent global et un équivalent au niveau projet (`.claude/`).
## Table des matières
1. [Vue d'ensemble](#vue-densemble)
2. [Fonctionnalités globales uniquement](#fonctionnalités-globales-uniquement)
3. [Fonctionnalités à double portée](#fonctionnalités-à-double-portée)
4. [Priorité des paramètres](#priorité-des-paramètres)
5. [Comparaison de la structure de répertoires](#comparaison-de-la-structure-de-répertoires)
6. [Système de tâches](#système-de-tâches)
7. [Équipes d'agents](#équipes-dagents)
8. [Principes de conception](#principes-de-conception)
9. [Sources](#sources)
---
## Vue d'ensemble
Claude Code utilise une **hiérarchie de portées** où certaines fonctionnalités existent à la fois au niveau global (`~/.claude/`) et projet (`.claude/`), tandis que d'autres sont exclusivement globales. Le principe de conception : ce qui est *état personnel* ou *coordination inter-projets* vit globalement ; ce qui est *config projet partageable en équipe* peut vivre au niveau projet.
- `~/.claude/` est ton **home au niveau utilisateur** (global, tous projets)
- `.claude/` à l'intérieur d'un dépôt est ton **home au niveau projet** (limité à ce projet)
---
## Fonctionnalités globales uniquement
Celles-ci vivent **uniquement** sous `~/.claude/` et ne peuvent être limitées à un projet :
| Fonctionnalité | Emplacement | Objectif |
|---------|----------|---------|
| **Tâches** | `~/.claude/tasks/` | Listes de tâches persistantes entre sessions et agents |
| **Équipes d'agents** | `~/.claude/teams/` | Configs de coordination multi-agents (expérimental, févr. 2026) |
| **Auto-mémoire** | `~/.claude/projects//memory/` | Apprentissages auto-écrits par Claude par projet (personnels, jamais partagés) |
| **Identifiants & OAuth** | Trousseau système + `~/.claude.json` | Clés API, tokens OAuth (jamais dans les fichiers de projet) |
| **Raccourcis clavier** | `~/.claude/keybindings.json` | Raccourcis clavier personnalisés |
| **Serveurs MCP utilisateur** | `~/.claude.json` (clé `mcpServers`) | Serveurs MCP personnels sur tous les projets |
| **Préférences/Cache** | `~/.claude.json` | Thème, modèle, style de sortie, état de session |
---
## Fonctionnalités à double portée
Celles-ci existent aux deux niveaux, le **niveau projet prenant le pas** sur le global :
| Fonctionnalité | Global (`~/.claude/`) | Projet (`.claude/`) | Priorité |
|---------|----------------------|---------------------|------------|
| **CLAUDE.md** | `~/.claude/CLAUDE.md` | `./CLAUDE.md` ou `.claude/CLAUDE.md` | Projet surcharge global |
| **Paramètres** | `~/.claude/settings.json` | `.claude/settings.json` + `.claude/settings.local.json` | Projet > Global |
| **Règles** | `~/.claude/rules/*.md` | `.claude/rules/*.md` | Projet surcharge |
| **Agents/Sous-agents** | `~/.claude/agents/*.md` | `.claude/agents/*.md` | Projet surcharge |
| **Commandes** | `~/.claude/commands/*.md` | `.claude/commands/*.md` | Les deux disponibles |
| **Skills** | `~/.claude/skills/` | `.claude/skills/` | Les deux disponibles |
| **Hooks** | `~/.claude/hooks/` | `.claude/hooks/` | Les deux s'exécutent |
| **Serveurs MCP** | `~/.claude.json` (portée utilisateur) | `.mcp.json` (portée projet) | Trois portées : local > projet > utilisateur |
---
## Priorité des paramètres
Les paramètres modifiables par l'utilisateur s'appliquent dans cet ordre de surcharge (du plus élevé au plus bas) :
| Priorité | Emplacement | Portée | Versionné | Objectif |
|----------|----------|-------|-----------------|---------|
| 1 | Drapeaux en ligne de commande | Session | N/A | Surcharges sur une seule session |
| 2 | `.claude/settings.local.json` | Projet | Non (git-ignored) | Personnel, spécifique au projet |
| 3 | `.claude/settings.json` | Projet | Oui (committé) | Paramètres partagés en équipe |
| 4 | `~/.claude/settings.local.json` | Utilisateur | N/A | Surcharges globales personnelles |
| 5 | `~/.claude/settings.json` | Utilisateur | N/A | Paramètres personnels globaux |
Couche de politique : `managed-settings.json` est imposé par l'organisation et ne peut être surchargé par les fichiers locaux.
**Important** : les règles `deny` ont la priorité de sécurité la plus élevée et ne peuvent être surchargées par des règles allow/ask de priorité inférieure.
---
## Comparaison de la structure de répertoires
### Portée globale (`~/.claude/`)
```
~/.claude/
├── settings.json # Paramètres au niveau utilisateur (tous projets)
├── settings.local.json # Surcharges personnelles
├── CLAUDE.md # Mémoire utilisateur (tous projets)
├── agents/ # Sous-agents utilisateur (disponibles pour tous les projets)
│ └── *.md
├── rules/ # Règles modulaires au niveau utilisateur
│ └── *.md
├── commands/ # Commandes au niveau utilisateur
│ └── *.md
├── skills/ # Skills au niveau utilisateur
│ └── */SKILL.md
├── tasks/ # GLOBAL UNIQUEMENT : Listes de tâches
│ └── {task-list-id}/
├── teams/ # GLOBAL UNIQUEMENT : Configs d'équipes d'agents
│ └── {team-name}/
│ └── config.json
├── projects/ # GLOBAL UNIQUEMENT : Auto-mémoire par projet
│ └── {project-hash}/
│ └── memory/
│ ├── MEMORY.md
│ └── *.md
├── keybindings.json # GLOBAL UNIQUEMENT : Raccourcis clavier
└── hooks/ # Hooks au niveau utilisateur
├── scripts/
└── config/
~/.claude.json # GLOBAL UNIQUEMENT : Serveurs MCP, OAuth, préférences, caches
```
### Portée projet (`.claude/`)
```
.claude/
├── settings.json # Paramètres partagés en équipe
├── settings.local.json # Surcharges projet personnelles (git-ignored)
├── CLAUDE.md # Mémoire projet (alternative à ./CLAUDE.md)
├── agents/ # Sous-agents projet
│ └── *.md
├── rules/ # Règles modulaires au niveau projet
│ └── *.md
├── commands/ # Commandes slash personnalisées
│ └── *.md
├── skills/ # Skills personnalisés
│ └── {skill-name}/
│ ├── SKILL.md
│ └── supporting-files/
├── hooks/ # Hooks au niveau projet
│ ├── scripts/
│ └── config/
└── plugins/ # Plugins installés
.mcp.json # Serveurs MCP de portée projet (racine du dépôt)
```
---
## Système de tâches
Introduit dans **Claude Code v2.1.16** (22 janvier 2026), remplaçant le système TodoWrite déprécié.
### Stockage
Les tâches sont stockées dans `~/.claude/tasks/` sur le système de fichiers local (pas dans une base de données cloud). Cela rend l'état des tâches auditable, versionnable et récupérable après crash.
### Outils
| Outil | Objectif |
|------|---------|
| **TaskCreate** | Créer une nouvelle tâche avec `subject`, `description` et `activeForm` |
| **TaskGet** | Récupérer les détails complets d'une tâche spécifique par ID |
| **TaskUpdate** | Changer le statut, définir le propriétaire, ajouter des dépendances ou supprimer |
| **TaskList** | Lister toutes les tâches avec leur statut actuel |
### Cycle de vie d'une tâche
```
pending → in_progress → completed
```
### Gestion des dépendances
Les tâches peuvent en bloquer d'autres via `addBlockedBy`/`addBlocks`, créant des graphes de dépendances qui empêchent une exécution prématurée.
### Collaboration multi-session
```bash
CLAUDE_CODE_TASK_LIST_ID=my-project-tasks claude
```
Toutes les sessions partageant le même ID voient les mises à jour de tâches en temps réel, permettant des flux de travail parallèles et la reprise de session.
### Différences clés avec les anciens Todos
| Fonctionnalité | Anciens Todos | Nouvelles Tâches |
|---------|-----------|-----------|
| Portée | Session unique | Inter-session, inter-agent |
| Dépendances | Aucune | Graphe de dépendances complet |
| Stockage | En mémoire uniquement | Système de fichiers (`~/.claude/tasks/`) |
| Persistance | Perdue à la fin de session | Survit aux redémarrages et crashs |
| Multi-session | Impossible | Via `CLAUDE_CODE_TASK_LIST_ID` |
---
## Équipes d'agents
Annoncées le **5 février 2026** comme fonctionnalité expérimentale. Les équipes d'agents permettent à plusieurs sessions Claude Code de se coordonner sur un travail partagé.
### Activation
```json
// Dans ~/.claude/settings.json
{
"env": {
"CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1"
}
}
```
### Configuration
Les configs d'équipe vivent dans `~/.claude/teams/{team-name}/` et supportent des modes :
| Mode | Description | Prérequis |
|------|-------------|--------------|
| **In-process** (défaut) | Tous les coéquipiers tournent dans ton terminal | Aucun |
| **Panneaux divisés** | Chaque coéquipier obtient son propre panneau | tmux ou iTerm2 (pas le terminal VS Code) |
---
## Principes de conception
Le partage globales-uniquement vs double-portée suit un schéma clair :
| Catégorie | Portée | Justification |
|----------|-------|-----------|
| **État de coordination** (tâches, équipes) | Global uniquement | Doit persister au-delà de tout projet unique |
| **État de sécurité** (identifiants, OAuth) | Global uniquement | Empêche les commits accidentels dans le versioning |
| **Apprentissage personnel** (auto-mémoire) | Global uniquement | Propre à l'utilisateur, non partageable en équipe |
| **Préférences de saisie** (raccourcis clavier) | Global uniquement | Mémoire musculaire de l'utilisateur, non spécifique au projet |
| **Configuration** (paramètres, règles, agents) | Les deux niveaux | Les équipes ont besoin de partager un comportement spécifique au projet |
| **Définitions de workflow** (commandes, skills) | Les deux niveaux | Peuvent être personnelles ou partagées en équipe |
L'auto-mémoire (`~/.claude/projects//memory/`) est un hybride notable : elle est *à propos* d'un projet spécifique mais stockée *globalement* car elle représente un apprentissage personnel plutôt qu'une configuration partageable en équipe.
---
## Sources
- [Documentation des paramètres Claude Code](https://code.claude.com/docs/en/settings)
- [Orchestrer des équipes de sessions Claude Code](https://code.claude.com/docs/en/agent-teams)
- [What are Tasks in Claude Code - ClaudeLog](https://claudelog.com/faqs/what-are-tasks-in-claude-code/)
- [Claude Code Task Management - ClaudeFast](https://claudefa.st/blog/guide/development/task-management)
- [Claude Code Tasks Update - VentureBeat](https://venturebeat.com/orchestration/claude-codes-tasks-update-lets-agents-work-longer-and-coordinate-across)
- [Where Are Claude Code Global Settings - ClaudeLog](https://claudelog.com/faqs/where-are-claude-code-global-settings/)
- [Claude Opus 4.6 Agent Teams - VentureBeat](https://venturebeat.com/technology/anthropics-claude-opus-4-6-brings-1m-token-context-and-agent-teams-to-take)
- [How to Set Up Claude Code Agent Teams (Full Walkthrough) - r/ClaudeCode](https://www.reddit.com/r/ClaudeCode/comments/1qz8tyy/how_to_set_up_claude_code_agent_teams_full/)
- [Anthropic replaced Claude Code's old 'Todos' with Tasks - r/ClaudeAI](https://www.reddit.com/r/ClaudeAI/comments/1qkjznp/anthropic_replaced_claude_codes_old_todos_with/)