remove cocalc; all non-authenticated access has been disabled
diff --git a/gpt4free/README.md b/gpt4free/README.md
index f3ba27ab70..73e7fa09f1 100644
--- a/gpt4free/README.md
+++ b/gpt4free/README.md
@@ -42,9 +42,6 @@ print(f'END')
 response = gpt4free.Completion.create(Provider.Theb, prompt='Write a poem on Lionel Messi')
 print(response)
 
-# usage cocalc
-response = gpt4free.Completion.create(Provider.CoCalc, prompt='Write a poem on Lionel Messi', cookie_input='')
-print(response)
 
 ```
 
@@ -73,8 +70,6 @@ Some of the keyword arguments are optional, while others are required.
 
 - Theb:
   (no keyword arguments required)
-- CoCalc:
-  - `cookie_input`: str - this needs to be provided by user
 
 #### Token generation of quora
 ```python
diff --git a/gpt4free/__init__.py b/gpt4free/__init__.py
index 6df778e34d..1e65289772 100644
--- a/gpt4free/__init__.py
+++ b/gpt4free/__init__.py
@@ -1,6 +1,5 @@
 from enum import Enum
 
-from gpt4free import cocalc
 from gpt4free import forefront
 from gpt4free import quora
 from gpt4free import theb
@@ -15,7 +14,6 @@ class Provider(Enum):
     Poe = 'poe'
     ForeFront = 'fore_front'
     Theb = 'theb'
-    CoCalc = 'cocalc'
     UseLess = 'useless'
 
 
@@ -40,8 +38,6 @@ def create(provider: Provider, prompt: str, **kwargs) -> str:
             return Completion.__fore_front_service(prompt, **kwargs)
         elif provider == Provider.Theb:
             return Completion.__theb_service(prompt, **kwargs)
-        elif provider == Provider.CoCalc:
-            return Completion.__cocalc_service(prompt, **kwargs)
         elif provider == Provider.UseLess:
             return Completion.__useless_service(prompt, **kwargs)
         else:
@@ -67,6 +63,3 @@ def __fore_front_service(prompt: str, **kwargs) -> str:
     def __theb_service(prompt: str, **kwargs):
         return ''.join(theb.Completion.create(prompt=prompt))
 
-    @staticmethod
-    def __cocalc_service(prompt: str, **kwargs):
-        return cocalc.Completion.create(prompt, cookie_input=kwargs.get('cookie_input', '')).text
diff --git a/gpt4free/cocalc/__init__.py b/gpt4free/cocalc/__init__.py
deleted file mode 100644
index e122051aca..0000000000
--- a/gpt4free/cocalc/__init__.py
+++ /dev/null
@@ -1,67 +0,0 @@
-import requests
-from fake_useragent import UserAgent
-from pydantic import BaseModel
-
-
-class CoCalcResponse(BaseModel):
-    text: str
-    status: bool
-
-
-class Completion:
-    """A class for generating text completions using CoCalc's GPT-based chatbot."""
-
-    API_ENDPOINT = "https://cocalc.com/api/v2/openai/chatgpt"
-    DEFAULT_SYSTEM_PROMPT = "ASSUME I HAVE FULL ACCESS TO COCALC. "
-
-    @staticmethod
-    def create(prompt: str, cookie_input: str) -> CoCalcResponse:
-        """
-        Generate a text completion for the given prompt using CoCalc's GPT-based chatbot.
-
-        Args:
-            prompt: The text prompt to complete.
-            cookie_input: The cookie required to authenticate the chatbot API request.
-
-        Returns:
-            A CoCalcResponse object containing the text completion and a boolean indicating
-            whether the request was successful.
-        """
-
-        # Initialize a session with custom headers
-        session = Completion._initialize_session(cookie_input)
-
-        # Set the data that will be submitted
-        payload = Completion._create_payload(prompt, Completion.DEFAULT_SYSTEM_PROMPT)
-
-        try:
-            # Submit the request and return the results
-            response = session.post(Completion.API_ENDPOINT, json=payload).json()
-            return CoCalcResponse(text=response['output'], status=response['success'])
-        except requests.exceptions.RequestException as e:
-            # Handle exceptions that may occur during the request
-            print(f"Error: {e}")
-            return CoCalcResponse(text="", status=False)
-
-    @classmethod
-    def _initialize_session(cls, conversation_cookie: str) -> requests.Session:
-        """Initialize a session with custom headers for the request."""
-
-        session = requests.Session()
-        headers = {
-            "Accept": "*/*",
-            "Accept-Language": "en-US,en;q=0.5",
-            "Origin": "https://cocalc.com",
-            "Referer": "https://cocalc.com/api/v2/openai/chatgpt",
-            "Cookie": conversation_cookie,
-            "User-Agent": UserAgent().random,
-        }
-        session.headers.update(headers)
-
-        return session
-
-    @staticmethod
-    def _create_payload(prompt: str, system_prompt: str) -> dict:
-        """Create the payload for the API request."""
-
-        return {"input": prompt, "system": system_prompt, "tag": "next:index"}
diff --git a/gpt4free/cocalc/readme.md b/gpt4free/cocalc/readme.md
deleted file mode 100644
index f091115554..0000000000
--- a/gpt4free/cocalc/readme.md
+++ /dev/null
@@ -1,19 +0,0 @@
-### Example: `cocalc` <a name="example-cocalc"></a>
-
-```python
-# import library
-from gpt4free import cocalc
-
-cocalc.Completion.create(prompt="How are you!", cookie_input="cookieinput")  ## Tutorial 
-```
-
-### How to grab cookie input
-```js
-// input this into ur developer tools console and the exact response u get from this u put into ur cookieInput!
-var cookies = document.cookie.split("; ");
-var cookieString = "";
-for (var i = 0; i < cookies.length; i++) {
-  cookieString += cookies[i] + "; ";
-}
-console.log(cookieString);
-```

Hi Gpt4free devs,

- cocalc is my website
- i have disabled *all* non-authenticated access, so gpt4free will no longer work with cocalc.
- it's better to remove it so you don't confuse your users, who might expect cocalc to work with gpt4free

Thanks!   It wasn't my intention to have random use of GPT through our API, though I realize that is not spelled out explicitly in our terms of service.