HashiCorp Pulls the Plug on CDKTF

CDKTF is Officially Deprecated

The Deprecation Announcement

Well, it finally happened.

HashiCorp (now owned by IBM) officially deprecated the Cloud Development Kit for Terraform (CDKTF) on December 10, 2025. The repository is archived. No more features. No more fixes. If you chose CDKTF to write infrastructure code in TypeScript, Python, or Go instead of HCL, you’re now being told to go back to the very thing you tried to avoid.

Impact on Existing Users

The repository is archived with no more features or fixes, leaving users who adopted CDKTF in an uncertain position.

Why HashiCorp Killed CDKTF

Business Decision Factors

Why did this happen?

According to HashiCorp, CDKTF “did not find product-market fit at scale.” Translation: not enough enterprise customers using it to justify the investment. This is what happens when tools are owned by a single vendor focused on enterprise priorities over community needs.

Market Dynamics

The decision reflects HashiCorp’s focus on enterprise customers over community-driven development tools.

Migration Options After CDKTF Deprecation

Understanding Your Choices

What are your options?

You’ve got two paths forward:

Option 1: Go back to HCL (with OpenTofu)

HashiCorp suggests using cdktf synth --hcl to convert your code to raw HCL. But here’s the thing you don’t have to use HashiCorp’s Terraform. OpenTofu is the truly open-source, Linux Foundation-backed alternative that won’t change licenses on you or sunset tools you depend on.

Converting Existing Code

Use cdktf synth --hcl to convert your CDKTF code to raw HCL format.

OpenTofu as Alternative

Consider OpenTofu as the truly open-source, Linux Foundation-backed alternative that provides stability without vendor lock-in.

Option 2: Switch to Pulumi

If you picked CDKTF because you wanted real programming languages with loops, variables, and proper abstractions, Pulumi is your best bet. Unlike CDKTF (which was always a translation layer), Pulumi is native infrastructure-as-software. You keep the power of TypeScript/Python/Go without the deprecation risk.

Pulumi Advantages

Pulumi offers native infrastructure-as-software without the translation layer limitations of CDKTF.

Language Power Retained

Keep the power of TypeScript/Python/Go with loops, variables, and proper abstractions without deprecation concerns.

The Real Lesson: Avoid Vendor Lock-in

Understanding Vendor Risk

The bigger lesson here?

This isn’t just about CDKTF. It’s a wake-up call about vendor lock-in. When you rely on a single company’s ecosystem, you’re vulnerable. Today it’s CDKTF. Tomorrow it could be another tool you depend on.

Long-term Strategy

Consider the risks of depending on single-vendor ecosystems and plan for technology diversification.

Plan Your Migration Now

Immediate Action Required

Your move:

If you’re using CDKTF in production, start planning your migration now. Whether you go with OpenTofu for stability or Pulumi for programming power, don’t wait until support runs out completely.

Migration Timeline

Begin planning your migration immediately to avoid being caught off-guard when support completely ends.

Risk Assessment

Evaluate your current CDKTF usage and prioritize critical infrastructure for migration.

Community Discussion

Share Your Experience

What do you think?

Have you been using CDKTF? What’s your migration plan? Drop your thoughts below!

Lessons Learned

Discuss what this deprecation teaches about technology choices and vendor relationships in infrastructure tooling.

Related Posts

Check out some of our other posts

Organizing Terraform with Modules

Why Organize Your Terraform Code? The Growing Complexity Challenge Hey there! Is your Terraform code starting to look a bit wild? If you're using Terraform to build out your infrastructu

Managing Terraform at Scale with Terragrunt

The Problem with Terraform at Scale Code Duplication Across Environments Tired of copying Terraform code across every environment? If you're managing infrastructure with Terraform across

Understanding Kubernetes Services: ClusterIP vs NodePort vs LoadBalancer

Hey, trying to figure out how to expose your Kubernetes apps? If you're working with Kubernetes, you've probably noticed that Pods come and go, and their IP addresses keep changing. That's where

Docker Is Eating Your Disk Space (And How PruneMate Fixes It)

The Problem: Docker Is Eating Your Disk Space Symptoms of Docker Disk Space Issues Your Docker host is running out of space. Again. You've been spinning up containers, testing new servic

7 Reasons Learning the Linux Terminal is Worth It (Even for Beginners)

Why Learn the Linux Terminal? The Terminal's Enduring Value Is the Linux terminal still relevant in 2026? You bet it is. Even with all the fancy graphical interfaces and AI assistants ou

Tracing Microservices with OpenTelemetry

Why Monitor Your Microservices? The Complexity of Distributed Systems Hey, want to know what’s going on in your microservices? If you’re juggling multiple services, it’s hard to track ho