@@ -37,7 +37,7 @@ locals {
3737repo_base_dir = data. coder_parameter . repo_base_dir . value == " ~" ? " /home/coder" : replace (data. coder_parameter . repo_base_dir . value ," /^~\\ //" ," /home/coder/" )
3838repo_dir = replace (try (module. git-clone [0 ]. repo_dir ," " )," /^~\\ //" ," /home/coder/" )
3939container_name = " coder-${ data . coder_workspace_owner . me . name } -${ lower (data. coder_workspace . me . name )} "
40- has_ai_prompt = data . coder_parameter . ai_prompt . value != " "
40+ is_task = coder_task . task . id != " "
4141}
4242
4343data "coder_workspace_preset" "cpt" {
@@ -218,14 +218,6 @@ data "coder_parameter" "devcontainer_autostart" {
218218mutable = true
219219}
220220
221- data "coder_parameter" "ai_prompt" {
222- type = " string"
223- name = " AI Prompt"
224- default = " "
225- description = " Prompt for Claude Code"
226- mutable = true // Workaround for issue with claiming a prebuild from a preset that does not include this parameter.
227- }
228-
229221provider "docker" {
230222host = lookup (local. docker_host , data. coder_parameter . region . value )
231223}
@@ -790,7 +782,7 @@ resource "coder_metadata" "container_info" {
790782 }
791783item {
792784key = " ai_task"
793- value = local. has_ai_prompt ? " yes" : " no"
785+ value = local. is_task ? " yes" : " no"
794786 }
795787}
796788
@@ -824,7 +816,7 @@ locals {
824816}
825817
826818module "claude-code" {
827- count = local. has_ai_prompt ? data. coder_workspace . me . start_count : 0
819+ count = local. is_task ? data. coder_workspace . me . start_count : 0
828820source = " dev.registry.coder.com/coder/claude-code/coder"
829821version = " 3.4.4"
830822agent_id = coder_agent. dev . id
@@ -835,15 +827,19 @@ module "claude-code" {
835827agentapi_version = " latest"
836828
837829system_prompt = local. claude_system_prompt
838- ai_prompt = data . coder_parameter . ai_prompt . value
830+ ai_prompt = coder_ai_task . task . prompt
839831post_install_script = <<- EOT
840832 claude mcp add playwright npx -- @playwright/mcp@latest --headless --isolated --no-sandbox
841833 claude mcp add desktop-commander npx -- @wonderwhy-er/desktop-commander@latest
842834 EOT
843835}
844836
837+ resource "coder_ai_task" "task" {
838+ app_id = module. claude-code . task_app_id
839+ }
840+
845841resource "coder_app" "develop_sh" {
846- count = local. has_ai_prompt ? data. coder_workspace . me . start_count : 0
842+ count = local. is_task ? data. coder_workspace . me . start_count : 0
847843agent_id = coder_agent. dev . id
848844slug = " develop-sh"
849845display_name = " develop.sh"
@@ -856,7 +852,7 @@ resource "coder_app" "develop_sh" {
856852}
857853
858854resource "coder_script" "develop_sh" {
859- count = local. has_ai_prompt ? data. coder_workspace . me . start_count : 0
855+ count = local. is_task ? data. coder_workspace . me . start_count : 0
860856display_name = " develop.sh"
861857agent_id = coder_agent. dev . id
862858run_on_start = true
@@ -879,7 +875,7 @@ resource "coder_script" "develop_sh" {
879875}
880876
881877resource "coder_app" "preview" {
882- count = local. has_ai_prompt ? data. coder_workspace . me . start_count : 0
878+ count = local. is_task ? data. coder_workspace . me . start_count : 0
883879agent_id = coder_agent. dev . id
884880slug = " preview"
885881display_name = " Preview"