---
title: "CreateProjectFromEnvironment"
method: POST
path: "/gitpod.v1.ProjectService/CreateProjectFromEnvironment"
tags: ["gitpod.v1.ProjectService"]
---

# CreateProjectFromEnvironment

`POST /gitpod.v1.ProjectService/CreateProjectFromEnvironment`

Creates a new project using an existing environment as a template.

 Use this method to:
 - Clone environment configurations
 - Create projects from templates
 - Share environment setups

 ### Examples

 - Create from environment:

   Creates a project based on existing environment.

   ```yaml
   name: "Frontend Project"
   environmentId: "07e03a28-65a5-4d98-b532-8ea67b188048"
   ```

## Request body

- GitpodV1CreateProjectFromEnvironmentRequest
  - `environmentId` string, uuid — environment_id specifies the environment identifier
  - `name` string

## Response `200`

Success

- GitpodV1CreateProjectFromEnvironmentResponse
  - `project` GitpodV1Project — unresolved $ref

## Other responses

- `default` — Error

## Changes

- **2026-04-02** `dabc0ff98cd7` — 3 info
  - removed the `PRINCIPAL_AGENT_EXECUTION` enum value from the `project/metadata/creator/principal` response property for the response status `200`
  - removed the `PRINCIPAL_AGENT_EXECUTION` enum value from the `project/prebuildConfiguration/executor/principal` response property for the response status `200`
  - removed the `PRINCIPAL_AGENT_EXECUTION` enum value from the `project/usedBy/subjects/items/principal` response property for the response status `200`
- **2026-01-09** `3935e467f9c1` — 1 info
  - added the optional property `project/recommendedEditors` to the response with the `200` status
- **2025-12-15** `d62ef4b9187c` — 3 warning, 5 info
  - added the new `CLONE_TARGET_MODE_REMOTE_TAG` enum value to the `project/initializer/specs/items/git/targetMode` response property for the response status `200`
  - added the new `PRINCIPAL_AGENT_EXECUTION` enum value to the `project/metadata/creator/principal` response property for the response status `200`
  - added the new `PRINCIPAL_AGENT_EXECUTION` enum value to the `project/usedBy/subjects/items/principal` response property for the response status `200`
  - added the optional property `project/desiredPhase` to the response with the `200` status
  - …4 more
- …earlier changes not shown

[Full history](https://skmtc.dev/gitpod-io/apis/gitpod-v1/changes/gitpod.v1.ProjectService/CreateProjectFromEnvironment/post.md)

---

[API](https://skmtc.dev/gitpod-io/apis/gitpod-v1.md) · [All operations](https://skmtc.dev/gitpod-io/apis/gitpod-v1/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/gitpod-io/gitpod-v1/revisions/44d50c2ac284/schema)
