> ## Documentation Index
> Fetch the complete documentation index at: https://ai.easyaf.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# SessionStartHookInput

> Represents the input received by a SessionStart hook. This hook runs when Claude Code starts a new session or resumes one.

## Definition

**Assembly:** CloudNimble.ClaudeEssentials.dll

**Namespace:** CloudNimble.ClaudeEssentials.Hooks.Inputs

**Inheritance:** CloudNimble.ClaudeEssentials.Hooks.Inputs.HookInputBase

## Syntax

```csharp theme={null}
CloudNimble.ClaudeEssentials.Hooks.Inputs.SessionStartHookInput
```

## Summary

Represents the input received by a SessionStart hook.
This hook runs when Claude Code starts a new session or resumes one.

## Constructors

### &#x20;.ctor

#### Syntax

```csharp theme={null}
public SessionStartHookInput()
```

### &#x20;.ctor Inherited

> [!NOTE]
>
> Inherited from `CloudNimble.ClaudeEssentials.Hooks.Inputs.HookInputBase`

#### Syntax

```csharp theme={null}
protected HookInputBase()
```

### &#x20;.ctor Inherited

> [!NOTE]
>
> Inherited from `object`

#### Syntax

```csharp theme={null}
public Object()
```

## Properties

### &#x20;CurrentWorkingDirectory Inherited

> [!NOTE]
>
> Inherited from `CloudNimble.ClaudeEssentials.Hooks.Inputs.HookInputBase`

Gets or sets the current working directory where Claude Code is running.

#### Syntax

```csharp theme={null}
public string CurrentWorkingDirectory { get; set; }
```

#### Property Value

Type: `string`

### &#x20;EnvironmentFilePath

Gets or sets the file path where environment variables can be persisted.
This file can be written to during SessionStart to set environment variables
that will be available throughout the session.

#### Syntax

```csharp theme={null}
public string EnvironmentFilePath { get; set; }
```

#### Property Value

Type: `string?`

### &#x20;HookEventName Inherited

> [!NOTE]
>
> Inherited from `CloudNimble.ClaudeEssentials.Hooks.Inputs.HookInputBase`

Gets or sets the name of the hook event that triggered this input.

#### Syntax

```csharp theme={null}
public CloudNimble.ClaudeEssentials.Hooks.HookEventName HookEventName { get; set; }
```

#### Property Value

Type: `CloudNimble.ClaudeEssentials.Hooks.HookEventName`

### &#x20;PermissionMode Inherited

> [!NOTE]
>
> Inherited from `CloudNimble.ClaudeEssentials.Hooks.Inputs.HookInputBase`

Gets or sets the permission mode under which Claude Code is operating.

#### Syntax

```csharp theme={null}
public CloudNimble.ClaudeEssentials.Hooks.PermissionMode PermissionMode { get; set; }
```

#### Property Value

Type: `CloudNimble.ClaudeEssentials.Hooks.PermissionMode`

### &#x20;SessionId Inherited

> [!NOTE]
>
> Inherited from `CloudNimble.ClaudeEssentials.Hooks.Inputs.HookInputBase`

Gets or sets the unique identifier for the current Claude Code session.

#### Syntax

```csharp theme={null}
public string SessionId { get; set; }
```

#### Property Value

Type: `string`

### &#x20;Source

Gets or sets the source that triggered the session start.

#### Syntax

```csharp theme={null}
public CloudNimble.ClaudeEssentials.Hooks.SessionStartSource Source { get; set; }
```

#### Property Value

Type: `CloudNimble.ClaudeEssentials.Hooks.SessionStartSource?`

### &#x20;TranscriptPath Inherited

> [!NOTE]
>
> Inherited from `CloudNimble.ClaudeEssentials.Hooks.Inputs.HookInputBase`

Gets or sets the file path to the transcript JSONL file for the current session.
This file contains the full conversation history.

#### Syntax

```csharp theme={null}
public string TranscriptPath { get; set; }
```

#### Property Value

Type: `string`

## Methods

### &#x20;Equals Inherited Virtual

> [!NOTE]
>
> Inherited from `object`

#### Syntax

```csharp theme={null}
public virtual bool Equals(object obj)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `obj` | `object?` | - |

#### Returns

Type: `bool`

### &#x20;Equals Inherited

> [!NOTE]
>
> Inherited from `object`

#### Syntax

```csharp theme={null}
public static bool Equals(object objA, object objB)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `objA` | `object?` | - |
| `objB` | `object?` | - |

#### Returns

Type: `bool`

### &#x20;GetHashCode Inherited Virtual

> [!NOTE]
>
> Inherited from `object`

#### Syntax

```csharp theme={null}
public virtual int GetHashCode()
```

#### Returns

Type: `int`

### &#x20;GetType Inherited

> [!NOTE]
>
> Inherited from `object`

#### Syntax

```csharp theme={null}
public System.Type GetType()
```

#### Returns

Type: `System.Type`

### &#x20;MemberwiseClone Inherited

> [!NOTE]
>
> Inherited from `object`

#### Syntax

```csharp theme={null}
protected internal object MemberwiseClone()
```

#### Returns

Type: `object`

### &#x20;ReferenceEquals Inherited

> [!NOTE]
>
> Inherited from `object`

#### Syntax

```csharp theme={null}
public static bool ReferenceEquals(object objA, object objB)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `objA` | `object?` | - |
| `objB` | `object?` | - |

#### Returns

Type: `bool`

### &#x20;ToString Inherited Virtual

> [!NOTE]
>
> Inherited from `object`

#### Syntax

```csharp theme={null}
public virtual string ToString()
```

#### Returns

Type: `string?`


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.