让 Claude 通过 Projects 协调持续进行的工作
在一个对话中为 Claude 提供一组相关工作,让它协调共享存储库、说明和内存的并行云会话。
Projects 在 Pro 和 Max 计划上处于公开测试阶段,正在逐步推出,首先面向已使用云会话且在 claude.ai 聊天或 Cowork 中没有现有项目的账户。它们在 Team 或 Enterprise 计划上还不可用。如果 Projects 没有出现在 claude.ai/code 的侧边栏中或桌面应用的代码选项卡中,说明推出还没有到达您的账户,您可以加入等待列表。并行运行代理列出了您在此期间可以使用的内容。
项目是一个持续进行的对话,Claude 在其中为您协调一系列相关工作。您告诉它需要做什么,它为每个任务启动一个线程。每个线程都是一个云会话:Claude Code 在云中运行,而不是在您的机器上运行。线程并行运行,即使您关闭笔记本电脑后也会继续进行,您可以从手机上检查它们并引导它们。
没有项目的情况下,运行多个会话意味着您自己进行协调:您决定每个会话处理什么,在每个会话的开始重复相同的背景信息,并检查哪个已完成或需要您的回答。使用项目,您可以:
- 将工作发送到一个地方:每当出现问题时,将错误报告、堆栈跟踪或任务列表粘贴到对话中。Claude 为每项工作启动一个线程,或将其传递给已在该区域工作的线程,并就地回答快速问题。
- 设置一次上下文:每个新线程都以项目的存储库、说明和内存开始,因此您陈述一次的规则(例如要针对哪个分支)会到达所有线程。
- 离开并返回查看完成的工作:当您一小时后或第二天早上回来时,Overview 窗格显示哪些线程已完成、哪些拉取请求已准备好供审查,以及哪个线程正在等待您的回答。
如果您已经知道希望项目运行的工作,请直接转到创建项目。
何时使用项目
当工作有一个超越单个会话的目标并不断产生任务时,创建项目是值得的。这些类型的工作非常适合项目:
- 跨多个代码库的一个目标:"将每个服务升级到新的 lint 配置。"Claude 可以为每个代码库运行一个线程,每个都有自己的拉取请求,Overview 窗格显示哪些已准备好审查。
- 您不断提供的一个领域:一个服务的错误、堆栈跟踪和审查请求,当它们到达您时粘贴到对话中。您在一次修复后告诉 Claude 记住的陷阱在项目记忆中供下一次使用。
- 比一个会话更大的构建或迁移:"构建
docs/spec.md描述的内容"或"将应用从已弃用的 ORM 迁移出去。"工作分成线程,每个处理一部分,您要求 Claude 记住的早期决定会到达后续线程,您在构建期间发现的规范更改和错误进入同一对话。 - 非代码工作:一个合同文件夹或支持工单导出,您不断回来提出新问题,例如"在这些工单中找到十个最常见的集成错误。"上传文档而不是添加代码库,线程将每个写作作为文件提交到项目的Library 标签页。
在任何情况下,您都可以发送一批任务,告诉 Claude 开始而不要求您确认,离开,并在您回来时在Waiting on you下找到需要您的线程,或要求 Claude 将部分工作放在例程的时间表上。如果这是您的情况,创建项目。
何时其他方式更合适
线程在 GitHub 代码库以及您上传到项目的文件、文件夹和 Google Drive 文件夹上工作,而不是仅存在于您机器上的文件或工具。在这些情况下,其他方式更合适:
- 一个适合在一个会话中完成的任务:"修复不稳定的登录测试。"自己启动一个云会话。
- 需要仅您的机器可以访问的工具或服务的工作:本地数据库、设备模拟器、VPN 后面的 API。使用本地会话,或代理视图同时运行多个。如果工作只需要本地文件,请将它们上传到项目。
- 一个按时间表重复的任务,周围没有对话:"每周一发布依赖报告。"在其自身上创建一个例程。
- 多个人在 Slack 频道中给 Claude 工作并一起引导它:请参阅 Claude Tag。
项目使用与您其他 Claude Code 会话相同的计划限制,并更快地使用它们。使用和成本涵盖了什么使用您的计划以及如何降低成本。
项目如何组织
项目是一个与 Claude 的协调对话加上它启动的线程来完成工作。这些是它的部分:
- 项目对话:一个长期运行的会话,Claude 充当协调员。它接收您发送的内容,决定什么成为线程,并跟踪它启动的每个线程。它看到线程报告回来的内容,而不是它们采取的每一步。
- 线程:工作者。每个都是一个单独的云会话,有自己的上下文窗口,在自己的分支上完成一项工作,在工作需要时打开拉取请求,并在完成时报告回对话。
- 每个线程开始时的内容:
- Overview 窗格:您在其中一次看到所有线程以及哪些需要您。其他标签页是 Library(用于您添加的文件和线程生成的文件)、Pull requests(用于线程打开的文件)和 Routines(用于项目中的计划工作)。
线程不会从您自己机器上的 Claude Code 设置中获取任何内容。将 skills、plugins、连接器和工具放入线程涵盖了如何为它们提供它们可能缺少的内容。
以下是这些部分如何连接的方式,从您通过对话到执行工作的线程,Overview 跟踪它们的状态:
创建项目
您在 claude.ai/code、桌面应用的 Code 标签页或 Claude 移动应用中创建和使用项目,支持 iOS 和 Android。在浏览器和桌面应用中,有两种方式启动项目:
- 从头开始,当您知道希望 Claude 运行的工作流时:打开 New project 对话框并命名它。从头开始启动新项目会逐步讲解对话框。
- 从已经在进行工作的云会话:从该会话的菜单中选择 Continue as a project,Claude 从会话正在做的事情中提议项目的设置。请参阅从现有云会话启动。
无论哪种方式,首先检查先决条件。
检查先决条件
在创建项目之前,检查您的计划、GitHub 设置以及工作需要到达的内容:
- 计划:您在 Pro 或 Max 上,Projects 显示在您的侧边栏中。
- GitHub,如果项目将处理代码:您的代码在 github.com 上而不是 GitHub Enterprise Server、GitLab 或 Bitbucket 上,您连接的 GitHub 账户对其有推送访问权限,Claude GitHub App 已安装在其上。如果您使用
/web-setup连接了 GitHub,该令牌让您的其他云会话可以访问代码库,但对于项目线程来说还不够,项目线程需要 Claude GitHub App。设置 GitHub 访问有相关步骤。 - 网络、凭证和工具:这些来自项目的云环境。默认环境已经可以访问常见的包注册表,因此仅在工作需要其他域、密钥或未预装的工具时检查此项。如果工作需要 MCP 服务器,检查它是否在您的 claude.ai 连接器中显示为已连接。
从头开始启动新项目
从头开始启动项目意味着打开 New project 对话框,命名工作流,并可选地为其提供目标以及它处理的代码库和文件。只有名称是必需的,因此您可以先创建项目,然后在工作进行时填入其余部分。
打开 Projects
在 claude.ai/code 或桌面应用的 Code 标签页中,在左侧边栏中选择 Projects,然后选择 New project。在浏览器中,您也可以直接转到 claude.ai/code/projects/browse。
填写 New project 对话框
将项目范围限定为一个您将继续添加的工作流,例如保持一个 API 在其延迟目标下所需的一切。何时使用项目有更多示例。然后填写对话框的字段:
- Name:项目在 Projects 列表中的显示方式。
- Goal(可选):您试图完成的一行内容,例如"将 p95 API 延迟保持在 200 毫秒以下"。对话中的 Claude 朝着它工作。没有目标的情况下,Claude 从您发送的任务工作,您可以稍后在 Project settings > General 中添加目标。
- Context(可选):此项目处理的 GitHub 代码库,加上任何线程应该读取的文件、文件夹或 Google Drive 文件夹。为每个点击 Add。添加大多数任务需要的代码库而不是工作可能涉及的每一个;决定要添加哪些代码库涵盖了选择,您可以稍后在 Project settings > Environment 中添加更多。
关于线程应该如何工作的常规规则在项目说明中,您在项目存在后设置。
创建项目
点击 Create project。项目的对话打开,底部有一个消息框,您可以在其中为 Claude 描述工作。
在您的第一个项目上,除非您先发送消息,否则 Claude 在项目创建后会自己进行一轮。该轮使用您的计划。在其中,Claude 可能会:
- 启动一个线程来探索代码库而不改变任何内容,并提议后续步骤,如果项目有它可以读取的代码库。
- 发布从您最近的云会话中提取的 Setup recommendations:要添加的代码库、要创建的例程和它可以启动的线程。每个推荐的代码库和例程都默认打开。关闭您不想要的,然后点击 Update setup 添加其余的,或忽略建议并自己描述工作。
项目现在在侧边栏的 Projects 下列出,其对话已打开。您的第一批涵盖了在您向其发送工作之前要设置的内容。
从现有云会话启动
如果您已经有一个云会话在进行属于项目的工作,请打开侧边栏中会话的菜单并选择 Continue as a project 或 Move to project:
- Continue as a project 创建一个以会话命名的新项目并打开它。Claude 读取会话并在对话中发布 Setup recommendations 供您确认。原始会话保留在您的会话列表中,如果它在轮的中间,它会继续运行,因此如果您不想两者同时工作,请自己停止它。如果您使用可能出现在云会话消息框上方的 Set up project 横幅,结果是相同的,除了会话的运行轮在项目打开后停止。
- Move to project 将会话的工作带入现有项目。它在该项目的对话中发布一条消息,要求 Claude 读取会话并从中断的地方继续,新工作在项目自己的线程中继续。原始会话保留在您的会话列表中,未改变。
设置 GitHub 访问
大多数 GitHub 设置每次发生一次,而不是每个项目。您一次将 GitHub 账户连接到 Claude,Claude GitHub App 每个代码库安装一次,或如果您给它所有代码库,则为整个 GitHub 组织安装一次。当您添加 Claude GitHub App 还不覆盖的代码库或在强制 SSO 的 GitHub 组织中的代码库时,您会回到这些步骤。
连接您的 GitHub 账户
如果您之前没有使用过 claude.ai/code,您的第一次访问会引导您连接 GitHub;请参阅连接 GitHub。否则使用GitHub 身份验证选项之一。
在项目的代码库上安装 Claude GitHub App
安装 Claude GitHub App 并授予它项目将使用的代码库。在由 GitHub 组织拥有的代码库上,只有组织所有者可以完成安装;如果您不是,GitHub 会向所有者发送安装请求,项目在他们批准之前无法使用该代码库。
为强制 SSO 的组织授权 SSO
如果 GitHub 组织强制 SAML SSO,重新连接 GitHub 并为该组织授权 Claude 应用。在您这样做之前,该组织的私有代码库不会出现在 New project 对话框或 Project settings > Environment 中。
当这些步骤之一不完整时,New project 对话框和项目页面会命名缺失的步骤并链接到您完成它的地方。在那里完成步骤,然后如果对话框提供,点击 Check again。如果代码库之后仍然缺失,请在 GitHub 上打开 Claude GitHub App 的安装,在 github.com/settings/installations 用于个人账户,并确认代码库在 Repository access 下列出。对于线程或项目在访问仍然错误时报告的错误消息,请参阅代码库访问错误。
在项目中工作
通过项目对话给 Claude 工作:一次一个任务或一次多个,加上更新和零散的想法。Claude 路由每条消息,线程完成工作并报告回来。
您的第一批
在您向新项目发送一批工作之前,设置它以便第一批线程以您想要的方式回来:
- 编写项目说明:每个线程开始的简报,例如要针对哪个分支、线程如何检查其工作以及什么需要您的批准。
- 发送一个真实工作的小部分,或启动 Claude 建议的线程之一(如果它提供了任何),并在它完成时打开线程以查看它如何报告回来以及它在分支上做了什么。如果它假设了错误的东西或无法到达它需要的东西,线程猜测或停滞而不是询问涵盖了在哪里修复。
- 检查 Project settings > General 中的 Thread model 和 Thread effort。新项目在高努力下在 Opus 上运行每个线程,这最快地使用您的计划;选择模型并让 Claude 管理上下文涵盖了替代方案。
- 要求 Claude 在启动线程之前提议线程并一次运行几个,一旦几个线程以您想要的方式回来,就放弃这些限制。
发送工作并读取结果
Claude 决定您在对话中发送的每条消息去哪里:
- 快速问题通常在对话中得到答案。
- 新工作进入新线程或已在该领域工作的线程,Claude 告诉您哪个。每个新线程显示为您消息下的卡片:一个带有线程标题和状态的框,您点击打开线程。
- 一条消息中的多个不相关的任务成为单独的线程。
如果 Claude 路由的方式与您想要的不同,请说出来。调整 Claude 如何运行项目列出了您可以告诉它的事情,例如为后续工作重用现有线程或就地回答而不是启动线程。
线程的完整结果保留在线程中,您从对话中打开其卡片来读取它们。线程生成的文件也在 Overview 中的 Library 标签页上。
有时 Claude 在 Suggested threads 列表中提议线程而不是启动它们。点击建议上的箭头启动该线程。当列出多个时,列表下的按钮启动所有这些。
审查线程的拉取请求
当线程更改代码时,除非您另外告诉它,否则它会执行以下操作:
- 分支:在新分支上工作,从代码库的默认分支开始。
- 拉取请求:当您要求时打开一个,并可以为错误修复或其他具体更改自己打开一个。
- 打开后:使用自动修复打开监视拉取请求,无论自动修复是否对您的其他云会话打开。它在 CI 失败时推送修复,处理审查评论,并在检查通过且拉取请求准备好供您审查时在线程中回复。
当线程在对话中的卡片显示拉取请求下一步的按钮时:
- Resolve conflicts、Fix CI、Address comments 和 Merge it 将该指令作为来自您的消息发送到线程,因此您可以自己提示线程而不是等待它对拉取请求做出反应。
- Review PR 在 GitHub 上打开拉取请求。
- Create PR 在空闲线程已推送分支但尚未打开拉取请求时出现。点击它直接从该分支创建拉取请求,而不是向线程发送打开拉取请求的指令。
要更改线程何时打开拉取请求,例如仅在您要求时,或它们从哪个分支开始,请在任务中或在项目说明中说出来。
在 Overview 中查看需要您的内容
Overview 窗格在对话旁边跟踪项目的线程。它在您第一次打开新项目时已经打开。项目标题中的 Overview 按钮关闭并重新打开它,并在线程等待您时显示一个点。
在桌面应用中,当 Claude 在对话中发布、线程遇到错误或线程需要您的输入时,您还会收到桌面通知,因此您不必保持项目打开来找出。要在每次线程完成一轮时也获得一个,或为项目关闭它们,请在项目的侧边栏菜单中选择 Notifications。这些通知仅限桌面:在浏览器中,检查 Overview 按钮上的点。
窗格的 Threads 标签页按状态对线程进行分组:
| 组 | 其中的内容 |
|---|---|
| Ready for review | 其拉取请求已打开并等待审查的线程 |
| Waiting on you | 需要您的回复或批准的线程,或失败的线程 |
| Working | 仍在运行的线程 |
| Landing | 其拉取请求已批准或排队合并的线程 |
| Idle | 完成且不等待任何东西的线程 |
| Resolved | 标记为完成的线程:由您从线程的菜单中标记,由 Claude 在您采取最后一步(例如合并其拉取请求)后标记,或在一周无活动后自动标记。您可以从同一菜单重新打开一个 |
窗格的其他标签页是 Library(用于您添加的文件和文件夹以及线程生成的文件)、Pull requests(一旦线程打开任何)和 Routines(用于此项目的例程)。
当您需要控制时打开线程
点击对话中线程的卡片或 Overview 中的其行以在 Overview 窗格中打开其记录。从那里您可以:
- 逐步阅读 Claude 做了什么。
- 通过在线程自己的消息框中写入来引导任务。那里的消息直接进入该线程,而项目对话中的后续只有在 Claude 将后续匹配到该线程时才会到达它。
- 回答线程等待的权限提示。
- 使用 Stop 中断线程,它在线程工作时替换发送按钮,或按 Esc。
选择模型并让 Claude 管理上下文
在 Project settings > General 中设置模型和努力。新项目在高努力下在 Opus 上运行所有地方,对话的努力较低:
- Thread model 和 Thread effort 适用于线程。要为一个任务使用不同的模型,请在任务中要求它;对于已经运行的线程,使用该线程的模型选择器。
- Coordinator model 和 Coordinator effort 适用于项目对话中的 Claude。
您不在项目中管理上下文窗口。线程自动压缩,对话从最近的消息、最近的线程和项目记忆而不是其完整历史工作,因此它可以运行项目运行的时间。将任何必须永远不被丢弃的东西放在项目记忆中。如果一个线程超出其上下文,它显示Claude 在此轮用完了上下文。
调整 Claude 如何运行项目
在对话中告诉 Claude 一次运行多少个线程、何时发布更新以及何时打开拉取请求。如果 Claude 以您不想要的方式协调,请说出来。例如,您可以说:
- "提议线程并等待我的批准后再启动它们"或"现在启动这些而不要求我确认"
- "一次最多运行两个线程"或"为同一领域的后续工作重用现有线程"
- "发布更短的更新"或"仅在某些完成或被阻止时发布"
- "给我每个线程的状态更新"
- "用更小的模型做这个任务"
- "在我看到计划之前不要打开拉取请求"
- "告诉我这些代码库中有什么问题,不要修复任何东西",当您想在任何东西成为线程之前查看发现时
- "在这里回答那个而不是启动线程",当 Claude 为您打算作为快速问题的东西启动线程时
Claude 自己将这些偏好保存到项目记忆并在后续线程中遵循它们。它们是 Claude 遵守的说明,而不是强制设置,因此您以这种方式给出的线程限制不是硬上限。当您想要它精确措辞并从一开始应用到每个线程时,将一个添加到项目说明。
解除等待批准的线程
当线程的模型支持时,线程在自动模式中运行,因此大多数工具调用无需询问您即可运行。当线程需要您的批准时,提示在该线程内,线程等待直到您在那里回答。在项目对话中告诉 Claude 继续不会到达它。
每个批准涵盖该提示,或如果您选择更广泛的选项,则涵盖该线程的其余部分。要让每个线程运行某些命令而不询问,或阻止某些,请将权限规则添加到代码库的 .claude/settings.json。线程仅在有一个代码库的项目中应用它们;请参阅线程从您的代码库中获取什么。
给项目提供常规上下文
项目记忆、项目说明和项目的代码库、文件和环境跨线程携带上下文。您设置每个一次,它适用于每个新线程。
| 上下文 | 它携带什么 | 您如何设置它 |
|---|---|---|
| 项目记忆 | Claude 关于项目的笔记,例如要求、决定和陷阱,存储为文件。每个线程在启动时读取索引文件 MEMORY.md,并在需要时打开其他文件 |
在项目对话或任何线程中要求 Claude 记住要求、决定或陷阱,或忘记一个。在 Project settings > Memory 中读取、编辑和删除文件 |
| 项目说明 | 发送到每个新线程和项目对话中 Claude 的文本,最多 16,000 个字符。编写项目说明涵盖了要放入其中的内容 | Project settings > Memory > Project instructions,或要求 Claude 更改说明 |
| 代码库、文件和环境 | 每个线程克隆的代码库、每个线程可以在 /mnt/project-files 下读取的文件夹和文件,以及线程运行的云环境 |
代码库和环境在 Project settings > Environment 中,或在对话中要求 Claude 将代码库添加到项目。文件和文件夹来自 Overview 中 Library 标签页上的 Add |
Project settings > Memory 在 Auto memory 下列出这些文件,因为 Claude 在项目中工作时自己写入它们。它们与 Claude Code 在您机器上保留的自动记忆分开,即使两者都使用 MEMORY.md 索引。项目记忆也与项目代码库中的 CLAUDE.md 文件分开。每个线程在启动时仍然从其克隆中读取那些 CLAUDE.md 文件,因此将关于代码库的说明放在其 CLAUDE.md 中,将关于项目的笔记放在项目记忆中。
编写项目说明
项目说明是每个新线程开始的简报。点击项目标题中的齿轮图标打开 Project settings,然后转到 Memory > Project instructions。有用的简报涵盖:
- 项目的目的
- 工作发生的地方:哪些代码库、从哪个分支开始、如何命名拉取请求
- 线程在调用完成之前如何检查自己的工作
- 当它需要的东西缺失时该做什么
- 什么需要您的批准
例如:
此项目将支付 API 的 p95 延迟保持在 200 毫秒以下:分析、查询和缓存修复,以及随之而来的依赖升级,在 payments-api 代码库中。
- 从 main 分支并为每个线程打开一个草稿拉取请求。
- 在您调用工作完成之前,运行 `make test` 和 `make lint` 并在您的最终消息中粘贴摘要行。
- 如果您无法到达您需要的东西,例如代码库、密钥、API 或连接器,请在您的第一条消息中准确说出缺失的内容并停止。不要替代、模拟或猜测。
- 不要在没有在线程中询问我的情况下合并、强制推送或更改 CI 配置。
关于一个代码库的规则,例如其构建命令,属于该代码库的 CLAUDE.md,每个线程在代码库是项目的一部分时启动时读取。一旦工作进行中,当您纠正线程时,也告诉 Claude 记住纠正:它进入项目记忆,后续线程从它开始。
决定要添加哪些代码库
您添加到项目的代码库在每个线程中都带有其中的所有内容、其代码、CLAUDE.md 和 skills。您不添加的代码库仍在范围内:当其任务需要时,线程可以将一个添加到自己。大多数项目同时使用两者:
- 将其添加到项目,在 New project 对话框中、Project settings > Environment 中,或通过在对话中要求 Claude 将其添加到项目。从那时起,每个线程克隆它并从其
CLAUDE.md和 skills 加载开始,无论任务是否涉及它。从一个代码库转到多个也改变了线程从每个代码库的.claude/settings.json中获取什么;请参阅线程从您的代码库中获取什么。 - 将其留下,让线程在需要时添加它。 其任务需要项目没有的代码库的线程可以将其添加到自己,线程中的注释说它仅被添加到此线程。克隆发生在任务的中途,因此该代码库的
CLAUDE.md和 skills 在线程启动时不存在。下一个线程再次启动时没有它。线程添加的代码库需要与项目代码库相同的先决条件:Claude GitHub App 安装在其上并从您的 GitHub 账户推送访问。
项目根本不需要代码库。其线程仍然可以研究、编写文档和在自己的沙箱中编写和运行代码,并将文件提交到 Library 标签页。那里的线程也可以在任务需要时将代码库添加到自己。
一旦项目有了代码库,Claude 只能从项目已经使用的 GitHub 所有者添加代码库,无论它是将一个添加到项目还是线程将一个添加到自己。要引入来自不同所有者的代码库,请自己在 Project settings > Environment 中将其添加到项目。
对于跨越许多代码库的项目,例如一个具有服务器、网络、移动和桌面代码的功能,添加几乎每个任务涉及的一个或两个代码库,并在项目说明中命名其他代码库,以便 Claude 知道其余代码在哪里。线程然后启动小,仅为需要它们的任务拉入其他代码库。
线程从您的代码库中获取什么
每个线程克隆项目中的每个代码库并从所有代码库加载 CLAUDE.md 和 skills。权限规则、hooks 和 env 仅来自线程启动的目录中的 .claude/settings.json:在有一个代码库时在代码库内,在有多个时在克隆上方,其中没有代码库的文件被读取。
| 在每个代码库中 | 一个代码库 | 多个代码库 |
|---|---|---|
CLAUDE.md |
在线程启动时加载 | 在线程启动时从每个代码库加载 |
.claude/ 下的 Skills、agents 和 commands |
加载 | 从每个代码库加载 |
在 .claude/settings.json 中启用的 Plugins |
不加载。改为在 Project settings > Plugins 中添加 plugin | 不加载。改为在 Project settings > Plugins 中添加 plugin |
在 .claude/settings.json 中定义的权限规则、hooks 和 env |
适用于线程,除了没有云会话遵守的 env 键 |
不适用 |
在有多个代码库的项目中,每个克隆作为附加目录附加到线程,CLAUDE.md 加载打开,这就是为什么每个代码库的 CLAUDE.md 和 skills 在启动时加载,即使线程在它们上方启动。在这样的项目中,将常规规则放在项目说明中,并通过云环境为线程提供环境变量。
为线程选择环境
每个新线程在项目的云环境中启动。环境设置线程可以到达哪些域、它们有哪些环境变量、哪些 API 凭证被添加到它们的请求中,以及设置脚本在 Claude 启动之前安装什么。线程使用默认的 Anthropic 托管环境,直到您在 Project settings > Environment 中选择一个。
如果线程需要到达内部 API 或私有包注册表,或需要您的机器通常持有的令牌,请更改环境而不是项目:请参阅网络访问、添加 API 凭证和设置脚本。
将 skills、plugins、connectors 和工具放入线程
线程是云会话,因此它们没有仅在您机器上安装的 skills、MCP 服务器、plugins 和工具。要使这些中的每一个对线程可用:
- Skills、subagents 和 commands:将它们提交到您添加到项目的代码库,例如
.claude/skills/<skill-name>/SKILL.md处的 skill。每个线程克隆项目中的每个代码库并从每个代码库加载.claude/skills/、.claude/agents/和.claude/commands/,因此提交到一个代码库的 skill 在每个新线程中可用。线程也加载您为 claude.ai 账户启用的 skills。 - Plugins:在 Project settings > Plugins 中添加它们;它们加载到每个新线程中。代码库在其
.claude/settings.json中声明的 Plugins 不在线程中加载,因为线程是云会话。 - MCP 服务器:线程从您 claude.ai 账户上的连接器获取其 MCP 工具,这些是您在 claude.ai/customize/connectors 一次连接的 MCP 服务器,或通过 Project settings > Environment 中的 Manage connectors 链接。每个线程可以使用所有这些而无需每个项目的设置。项目对话本身没有连接器,因此将需要一个的工作作为线程的任务发送。在有一个代码库的项目中,线程也从该代码库的
.mcp.json加载 MCP 服务器。连接器如何到达 Claude Code列出了云会话的规则和关闭连接器的设置。 - 命令行工具和包:在环境的设置脚本中安装它们。
要查看运行线程在 claude.ai/code 有哪些连接器,请打开线程并从其消息框旁的 + 菜单中选择 Connectors。在那里关闭连接器会将其从该线程中移除,并且将其保存为您的账户默认值,因此新线程和 claude.ai 聊天在您重新打开它之前启动时没有它。线程在您向其发送下一条消息后获取您添加或重新连接的连接器。
项目设置参考
您在 claude.ai/code 或桌面应用中更改项目设置,而不是在 settings.json 中。从项目侧边栏菜单中的 Settings 或项目标题中的齿轮图标打开 Project settings。
设置在您更改时保存;您正在编辑的文本字段,例如目标或说明,显示 Save changes 和 Discard,直到您离开它。对说明、代码库、plugins 和 Project settings 中的环境的更改到达新线程,而不是已经运行的线程。
| 设置 | 部分 | 它控制什么 |
|---|---|---|
| 名称、图标和目标 | General | 侧边栏中项目的名称和图标,以及其一行目标 |
| Coordinator model 和 effort | General | 项目对话中 Claude 的模型和努力级别 |
| Thread model 和 effort | General | 线程的模型和努力级别 |
| 项目说明 | Memory | 常规规则每个新线程接收 |
| 项目代码库 | Environment | 新线程克隆的代码库 |
| 云环境 | Environment | 新线程运行的云环境 |
| Connectors | Environment | 管理 claude.ai connectors 线程获取的链接 |
| Plugins | Plugins | 加载到每个新线程的 plugins |
| Usage | Usage | 按线程和按模型的令牌使用 |
| Memory | Memory | 项目的记忆文件 |
| Restart Claude | General | 当Claude 在那里停止响应时重启项目对话 |
| Pause、Archive、Delete | General | 停止、隐藏或删除项目;请参阅暂停、存档或删除项目 |
暂停、存档或删除项目
所有三个控件都在 Project settings > General 的底部:
- Pause:一次停止所有东西。每个运行的线程和对话都被中断,没有新线程启动,例程不运行,项目不接受消息,直到您恢复它。点击同一地方或项目消息框上方的横幅中的 Resume;暂停的线程在您之后向其发送消息时继续。
- Archive:从侧边栏隐藏项目并存档其线程,这停止任何正在运行或监视拉取请求的线程。项目中的例程在存档时不运行。要恢复项目,请从 Projects 页面打开它并点击 Unarchive。其线程保持存档,直到您从会话列表中单独取消存档它们。
- Delete:永久删除项目及其线程、其记忆和其文件,并关闭项目的例程。这无法撤销。线程推送到 GitHub 的分支和拉取请求不受影响。
使用和成本
项目使用计入与您其他 Claude Code 会话相同的计划限制,项目本身无法超过这些限制。
达到您计划限制的线程等待并在限制重置时自己继续,因此您留下运行的工作在您的下一个使用窗口中开始使用,无需来自您的消息。线程达到使用限制涵盖了您看到的内容、如何停止它,以及不等待的一种情况。
工作仅在您为您的账户打开使用信用时才超过您的计划限制。线程无法为您打开它们。
什么使用您的计划
项目比单个会话更快地使用您的限制,特别是在 Pro 计划上,您应该期望在运行一个的日子里更快地达到您的限制。项目的这些部分使用您的计划:
- 运行线程:每个都是一个完整的会话,多个可以同时运行。没有固定数字;Claude 启动工作需要的尽可能多,您要求的限制是偏好而不是上限。强制限制是每天跨您的项目 200 个新线程。
- 对话:Claude 使用自己的令牌读取线程报告的内容并决定下一步做什么。
- 线程监视拉取请求:当 CI 失败或审查评论到达其拉取请求时,空闲线程唤醒并再次使用您的计划。要停止这个,请在线程中要求它停止监视拉取请求。
没有运行线程、没有监视拉取请求和没有新消息的项目在闲置时不使用您的计划,存档的项目也不使用。
查看和减少项目的使用
在 Project settings 中打开 Usage 以按线程和按模型查看令牌使用,以及有多少进入项目对话。要降低它:
- 路由到已闲置超过缓存生命周期(Pro 和 Max 在您计划限制内为一小时)的线程的后续,在做任何事情之前重新读取该线程的整个对话。对于新工作,要求 Claude 启动新线程可以使用比恢复大的旧线程更少的。
- 对于不需要最大模型的工作,为线程、对话或两者选择更小的模型或更低的努力级别。
- 在项目对话中要求 Claude 一次运行更少的线程,或自己回答小问题而不是启动线程。
项目与其他 Claude Code 功能的关系
几个 Claude Code 功能让多个会话同时工作,因此并行运行工作本身不是项目的目的。在项目中,Claude 启动和跟踪会话而不是您,每个都从相同的代码库、说明和记忆开始,工作在云中生活,只要它持续。这是每个相邻功能如何连接到项目的方式:
- Claude Tag:Claude Tag 是您团队 Slack 频道中的 Claude,在 Team 和 Enterprise 计划上。频道中的任何人都可以给它工作,频道中的每个人都看到并引导它,它使用管理员为该频道设置的连接。项目是您的:您是唯一给它工作或看到其线程的人,它使用您自己的 GitHub 访问和连接器,它在 Pro 和 Max 上。Claude Tag 与 Cowork 和 Claude Code 的不同之处有并排比较。
- 云会话:每个线程都是一个云会话,由 Claude 而不是您启动和跟踪。您自己启动的云会话可以通过Continue as a project 或 Move to project成为项目或提供一个。
- 例程:当您在项目中要求计划工作时,Claude 创建一个例程,作为该项目中的线程运行,并出现在其 Routines 标签页上。您在项目外创建的例程继续自己工作。
- 本地会话和代理视图:您的终端、IDE 或桌面应用的本地环境中的会话在您的机器上运行,不能是项目的一部分。代理视图是用于跟踪多个这些本地会话的屏幕;它没有协调员。
- Worktrees:一个worktree为每个本地会话提供其自己的代码库工作副本,因此您机器上的并行会话不会相互覆盖。线程不需要它们:每个线程将其代码库克隆到其自己的云沙箱中,并在其自己的分支上工作。
- 代理团队:一个代理团队是一个会话,为单个任务启动队友会话,在您的机器上或在云会话内,并以该任务结束。
- claude.ai 聊天和 Cowork 中的 Projects:早期的 Projects 体验,对对话和参考文件进行分组,没有线程或协调员。这些项目继续按照今天的方式工作,直到重新设计的体验到达它们。
并行运行代理并排比较这些选项。
限制
- Projects 在 claude.ai/code、桌面应用和 Claude 移动应用中可用,不在终端 CLI 或通过 Amazon Bedrock、Google Cloud 的 Agent Platform 或 Microsoft Foundry 中。CLI 的
claude project命令(它管理目录的本地 Claude Code 状态)是无关的。 - 项目线程是云会话,Anthropic 作为模型提供者。安全和数据使用涵盖了云会话如何隔离以及保留什么。
- 本地会话不能是项目的一部分。
- 线程的沙箱在轮之间暂停,并在线程继续时恢复。如果沙箱无法恢复,线程从新克隆继续,因此未提交的更改可能会丢失。在长任务上,要求 Claude 提交和推送进行中的工作。
- 项目属于一个用户。您不能与另一个用户共享项目或其线程,线程记录没有其他云会话具有的共享选项。在测试版期间没有项目的组织级控制。
- 线程属于启动它的一个项目。您不能将线程移动或复制到另一个项目,或将其移出以独立存在。Move to project仅以另一种方式进行:它将云会话的工作带入项目。
故障排除
对于 New project 对话框中的 GitHub 设置提示,请参阅设置 GitHub 访问。
线程看起来卡住了
Claude 不发布线程采取的每一步,因此显示为运行且项目对话中没有新消息的线程通常仍在工作。新线程也在 Claude 开始之前配置其云环境,因此其第一次更新需要一会儿。打开线程读取其记录。如果线程等待权限提示,请在那里回答。
线程猜测或停滞而不是询问
当多个线程回来时假设了错误的东西、解决了缺失的访问或停止了"被阻止",原因通常是项目设置中的相同间隙,而不是每个任务的问题。在修复任何东西之前排序哪些线程是合理的:
- 在对话中要求 Claude:"对于每个打开的线程,列出您要求它做什么、它假设或无法到达什么,以及它在等待什么。"Claude 读取每个线程并在对话中回答。
- 对于从错误假设开始的线程,从 Overview 打开线程并从其菜单标记为已解决,或在其消息框中告诉它做什么。其分支和任何拉取请求保留在 GitHub 上,直到您删除它们。
- 一次修复间隙,在项目说明或环境中,然后在再次发送其余工作作为新线程之前发送一个线程。
Claude 没有响应
当 Claude 运行但其回复没有到达项目时,项目对话显示"Claude hasn't responded"横幅。点击横幅上的 Restart Claude,或转到 Project settings > General 并在 Restart Claude 行中点击 Restart。Claude 重新连接到对话;它正在写的任何回复都丢失了,线程不受影响。
代码库访问错误
三条消息意味着线程或项目无法到达其代码库之一。项目线程需要GitHub 先决条件,即使您的其他云会话无故障地克隆相同的代码库。
- "Couldn't start the session — Claude doesn't have GitHub access to this project's repository",在线程启动之前报告,当 Claude GitHub App 未安装在该代码库上、已暂停或未链接到您连接的 GitHub 账户时。
- "Unable to access your repository",由线程报告,当其克隆失败时:GitHub 拒绝了克隆、在项目拥有的名称下找不到代码库,或线程被要求启动的分支不存在。
- "Claude can't access" 一个代码库,在您在 New project 对话框或 Project settings 中保存代码库时显示。消息继续带有安装链接和重新连接链接。如果 Claude GitHub App 不在该代码库上,使用安装链接,如果它在,使用重新连接链接,因为 GitHub App 可以在 GitHub 上安装而不链接到您连接到 Claude 的账户。如果消息说 GitHub App 已暂停或不包括此代码库,请按照其链接到 GitHub 修复。
要修复任何一个,点击消息提供的按钮,例如 Install GitHub App 或 Select repositories on GitHub,然后 Check again。当块在 GitHub 组织一侧时,例如尚未批准应用的所有者或排除 Claude 的 IP 允许列表,消息显示 See how to fix 链接。如果没有按钮,请按照设置 GitHub 访问,然后发送另一条消息重试。
线程达到使用限制
当线程或项目对话达到您计划的五小时或每周限制时,它自己保持重试并在限制重置时继续。在它等待时,线程显示 Service is busy,带有"Claude is still retrying and will continue automatically."。您不需要做任何事情工作就能继续。如果您宁愿它不使用您的下一个使用窗口,请点击线程中的 Stop,或暂停项目以保持每个线程。例程启动的线程不等待:其轮停止,带有限制错误,您在限制重置后向其发送消息。
使用限制错误解释了限制以及何时重置。
需要额外的使用信用
线程或项目对话发出了您的计划仅用使用信用覆盖的请求,例如对您的计划不包括的模型或上下文大小的请求,并且使用信用未为您的账户打开。将使用信用添加到您的订阅涵盖了谁可以在每个计划上打开或购买它们。一旦信用可用,发送另一条消息重试。
其他消息
这些消息命名它们自己的原因。表格为每个提供下一步。
| 消息 | 要做什么 |
|---|---|
| "Unable to connect to repository",带有"Claude couldn't reach GitHub to fetch your repository" | 等一会儿,然后发送另一条消息重试 |
| "Unable to connect to repository",带有"Claude couldn't access your repository or environment" | 您的 GitHub 账户需要对代码库的推送访问,环境必须仍然存在。在 Project settings > Environment 中检查两者,然后重试 |
| "Couldn't show the setup proposal" | 您打开的应用比 Claude 发送的 Setup recommendations 更旧。刷新页面或重启桌面应用,或要求 Claude 再次提议设置 |
| "The project's environment was removed" | 在 Project settings > Environment 中选择不同的环境;更改适用于新线程 |
| "Setup script failed" | 点击错误上的 Edit setup script,在环境中修复脚本,然后发送另一条消息。设置脚本失败列出常见原因 |
| "Claude ran out of context on this turn" | 线程填满了其上下文窗口。如果消息说线程在新会话中继续,它自己继续;否则在项目对话中要求 Claude 为剩余工作启动新线程 |
| "Reached the turn limit" | 线程达到了 CLAUDE_CODE_MAX_TURNS 设置的代理轮次上限。发送另一条消息继续,或在设置它的地方提高或删除该变量 |
相关资源
- 在云中使用 Claude Code:每个线程背后的云会话如何工作,包括 GitHub 访问选项和拉取请求上的自动修复
- 配置云环境:更改线程可以在网络上到达什么,为它们提供环境变量和 API 凭证,并使用设置脚本安装工具
- 使用例程自动化工作:例程的时间表、触发器和管理,包括 Claude 从项目创建的那些
- 使用代理视图管理多个代理:当工作需要仅您的机器可以到达的工具或服务时,在您自己的机器上运行和跟踪多个会话
- Projects redesigned: from folder to conversation:发布公告,带有使项目成为与 Claude 对话的思考